BiteQuest: Your Personal Restaurant Journey Tracker
Inspiration
Have you ever been asked about your favorite restaurant, only to freeze up completely? That's exactly what sparked our idea for BiteQuest. The truth is, our "favorite" restaurant isn't just one place – it's a collection of memories, moments, and experiences that change based on context and company.
For me, it's the humble hole-in-the-wall in Chinatown serving the most comforting pineapple buns when I need a quiet moment alone. It's Hakata Tonton or Llama San when I want to impress someone with creative Japanese-Peruvian fusion without breaking the bank. And sometimes, it's that familiar Korean-Chinese takeout spot where my family has been ordering black bean noodles for years – a place that holds more memories than meals.
I've always found myself taking countless photos of food and friends, not just to share but to preserve these moments. On tough days, scrolling through these memories brings comfort and joy. This habit made me realize: wouldn't it be amazing to have an app that could help us track and share these dining experiences in a more meaningful way?
What it does
BiteQuest transforms your dining experiences into trackable, shareable moments:
- Automatically tracks and stores your restaurant visits to look back on for ease of use
- Creates personalized rankings of your most frequented restaurants
- Features a social leaderboard showing which friends are the most active food explorers
- Displays friends' favorite restaurants
- Provides smart restaurant recommendations based on your location
- Helps you build your own curated list of go-to spots
How we built it
We created BiteQuest using Flutter for our frontend and with Flask to set up a backend RESTful API. These parts communicated with our MongoDB Atlas cluster hosted on the cloud, which stored all of our data on users and restaurants. We integrated several features using the Google Maps API*, including geocoding and geolocation to detect when a user visits a restaurant and which restaurant they're at, as well as for the backbone of our location-based recommendation system.
The UI was created in Flutter, with our custom images generated using DALL-E.
Challenges we ran into
Our journey wasn't without its hurdles:
- Wrestled with Google's API implementation, especially when discovering we were initially using a deprecated version
- Faced significant challenges with MongoDB integration in Flutter, ultimately resolving it by implementing a Flask backend to take care of all our database calls
- Navigated the learning curve of Flutter for the first time, particularly in creating an intuitive UI/UX design
- Had to carefully engineer our API queries to get precisely the data we needed
- Challenged ourself to using entirely almost entirely new technology, for example interacting with Flutter, cloud storage and deployment, and creating RESTful API endpoints all for the first time this weekend
Accomplishments that we're proud of
This project represents several meaningful victories for our team:
- Successfully created our first Flutter application from scratch
- Mastered MongoDB integration despite many (and I mean MANY) setbacks
- Implemented complex Google API functionality
- Developed a polished, user-friendly design we truly believe in
- Created something we're excited to continue developing
What we learned
Our team gained valuable experience with:
- MongoDB database design and implementation
- Google API integration and optimization
- Developing RESTful API endpoints
- Flutter development and UI/UX design
- Android emulator configuration and testing
What's next for BiteQuest
We're just getting started! Our roadmap includes:
- Expanding the favorite restaurants feature with more detailed categorization
- Implementing background restaurant detection for more accurate visit timing without the need to take your phone out of your pocket
- Optimizing for Android devices and testing on iOS, as well as a companion interface on PCs
- Adding more social features to connect food lovers, such as review sharing and discovery
Built With
- dall-e
- dart
- flask
- flutter
- google-maps
- mongodb
- mongodb-atlas
- python
Log in or sign up for Devpost to join the conversation.