A personal web application for managing and organizing restaurant collections imported from Google Maps.
Where Next helps you keep track of restaurants you've saved in Google Maps by importing them into a searchable, filterable interface. Perfect for answering the eternal question: "Where should we eat?"
- Import from Google Maps: Bring in all your saved restaurants with one click
- Browse & View: See your complete restaurant collection in an organized list
- Search & Filter: Quickly find restaurants by name, cuisine type, or location
- Offline Support: Access your imported restaurants even without internet connection
- Mobile-Friendly: Responsive design that works on phones, tablets, and desktops
This project serves two purposes:
- Practical Application: Build a useful tool for managing personal restaurant recommendations
- Learning Laboratory: Experiment with Specification-Driven Development (SDD) and the SpecKit workflow
This project is built following Specification-Driven Development principles using the SpecKit methodology:
- ✍️ Spec-First: Every feature starts with a complete specification before any code is written
- 📋 Test-Driven: Tests are defined upfront based on user scenarios and acceptance criteria
- 🎯 User-Focused: Requirements are technology-agnostic and centered on user value
- 📊 Measurable: Success criteria are concrete and verifiable
The .specify/ directory contains the project's constitution, templates, and design artifacts that guide development decisions.
Following the project constitution, development prioritizes:
- Simplicity & YAGNI: Start with the simplest solution, avoid premature abstraction
- Test-First Development: Write tests before implementation (non-negotiable)
- Code Quality: Maintainable, well-documented code with explicit technical debt tracking
✅ MVP Complete
- Project constitution established
- MVP specification complete and validated
- Implementation planning
- Development
- Testing & deployment
- Framework: Next.js 15 (App Router) with React 19
- Styling: Tailwind CSS 3 + shadcn/ui components
- Database: SQLite with Drizzle ORM
- APIs: Google Places API, Google Maps JavaScript API
- LLM Integration: OpenAI / Google Gemini for restaurant descriptions
- Testing: Vitest (unit/integration) + Playwright (E2E)
Features planned for post-MVP releases:
- Mark restaurants as favorites
- Add personal notes and ratings
- Manual restaurant entry
- Export/backup functionality
- Multi-device sync
This is a personal learning project. Feel free to use any ideas or approaches for your own projects.
Note: This project follows SpecKit conventions. Feature specifications can be found in specs/ organized by feature number and name.