FavorFind is an intelligent platform designed to assist with purchase decisions by streamlining the discovery of high-quality products through a dynamic dialpad interface. Users begin in the "Buy" category and navigate sub-menus to specify needsβfor instance, selecting "Electronics" to explore options like Smartphones, TVs, Laptops, Desktops, Tablets, or Accessories. Personalization is achieved via preference tags such as repairable, open source, eco-friendly, or trendy, ensuring recommendations match individual criteria.
This guided approach supports efficient buying choices, from 4K home theater projectors with extended lamp life to sustainable technology solutions.
- 4-Step Guided Search: Navigate through Buy, Learn, Guide, Social, News, and Lookup categories
- Smart Categorization: AI-powered third-level menu generation using Gemini
- Icon-Based Interface: Beautiful Lucide React icons for intuitive navigation
- Multiple Search Providers: Perplexity AI, Gemini, and Semantic Scholar integration
- Smart Caching: SQLite-based caching for lightning-fast repeat searches
- Advanced Filters: Content type, source type, date, and relevance sorting
- Save & Organize: Keep track of your favorite resources
- Persistent Storage: Local storage for instant access across sessions
- Quick Access: View your saved items anytime
- Responsive Design: Works seamlessly on desktop, tablet, and mobile
- Dark Theme: Eye-friendly interface for extended browsing
- Smooth Animations: Polished interactions with loading states
- Framework: Astro - The web framework for content-driven websites
- Runtime: Bun - Fast all-in-one JavaScript runtime
- Frontend: React 19 - UI components with hooks
- Styling: Tailwind CSS - Utility-first CSS framework
- Icons: Lucide React - Beautiful & consistent icons
- AI: Google Gemini - Dynamic menu generation
- Search: Perplexity AI - Intelligent search results
- Database: SQLite (via Bun) - Local caching and storage
- Bun >= 1.0.0
- Node.js >= 18.0.0 (optional, for compatibility)
-
Clone the repository
git clone https://github.com/jadbox/favorfind.git cd favorfind -
Install dependencies
bun install
-
Set up environment variables
Create a
.envfile in the root directory:GEMINI_API_KEY=your_gemini_api_key_here PERPLEXITY_API_KEY=your_perplexity_api_key_here SEMANTIC_SCHOLAR_API=your_semantic_scholar_api_key_here
-
Start the development server
bun run dev
-
Open your browser
Navigate to
http://localhost:4322
- Purpose: Dynamic menu generation for the dialpad's third level
- Get Your Key: Google AI Studio
- Purpose: Main search functionality
- Get Your Key: Perplexity API
- Purpose: Academic paper search
- Get Your Key: Semantic Scholar API
- Select a Category: Choose from Buy, Learn, Guide, Social, News, or Lookup & Forecast
- Pick a Subcategory: Drill down into specific topics
- Choose Specifics: AI generates relevant options based on your selections
- View Results: Get curated search results matching your exact needs
Refine your search results with filters on the results page.
Click the bookmark icon on any result to save it to your personal library for later reference.
favorfind/
βββ public/
β βββ images/ # Static assets including logo
βββ src/
β βββ components/ # React components
β β βββ Dialer.tsx # Dynamic dialpad component
β β βββ SearchResultsFilters.tsx
β β βββ ...
β βββ config/ # Configuration files
β β βββ dialerConfig.ts
β β βββ filterConfig.ts
β βββ layouts/ # Astro layouts
β βββ pages/ # Astro pages & API routes
β β βββ api/
β β β βββ dialer/ # Dialpad API endpoints
β β β βββ search.ts
β β βββ index.astro
β βββ services/ # Data providers & services
β β βββ cache.ts # SQLite caching
β β βββ geminiDataProvider.ts
β β βββ perplexityDataProvider.ts
β βββ utils/ # Utility functions
βββ plans/ # Project documentation
bun run buildbun run previewbun startContributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
- Built with Astro
- Powered by Bun
- AI by Google Gemini
- Search by Perplexity AI
- Icons by Lucide
