An AI-enhanced search engine with a minimalist design and dark/light mode support.
npm installCreate a .env.local file in the root directory with the following:
NEXT_PUBLIC_APP_NAME=SeekEngine
# Google Custom Search
GOOGLE_API_KEY=your_google_api_key_here
GOOGLE_CX=your_google_search_engine_id_here
# OpenRouter AI API
OPENROUTER_API_KEY=your_openrouter_api_key_hereGoogle Custom Search:
- Visit Google Cloud Console
- Create a new project
- Enable the Custom Search API
- Create API credentials (API Key)
- Set up a Custom Search Engine at cse.google.com
- Copy your CX (Search Engine ID)
OpenRouter:
- Visit OpenRouter
- Sign up for a free account
- Go to Keys section and create an API key
npm run devVisit http://localhost:3000 in your browser.
npm run build
npm start- 🎨 Ultra-minimalist design with dark/light mode
- 🔍 Real-time AI-powered search suggestions
- 📊 AI-generated summaries with traditional web results
- ⚡ Server-side API integration for security
- 📱 Mobile-first responsive design
- ♿ Accessible (ARIA labels, keyboard navigation)
src/
├── app/
│ ├── layout.tsx # Root layout with theme provider
│ ├── page.tsx # Homepage
│ ├── results/
│ │ └── page.tsx # Results page
│ └── api/
│ └── ai/
│ ├── suggest.ts # AI suggestions endpoint
│ └── answer.ts # AI answer endpoint
├── components/
│ ├── ThemeToggle.tsx # Theme switcher
│ ├── SearchBar.tsx # Search input with suggestions
│ ├── ResultCard.tsx # Individual result display
│ └── Skeleton.tsx # Loading skeleton
├── hooks/
│ ├── useDebounce.ts # Debounce hook
│ └── useSearch.ts # Search logic hook
├── lib/
│ ├── google-search.ts # Google Custom Search integration
│ └── openrouter.ts # OpenRouter AI integration
└── globals.css # Global styles