Inspiration

Current apps to explore new food spots overload users with information, causing them to be overwhelmed and overstimulated. When confronted with too many options, many times, we decline to choose any of them. This information overload also stems from various other problems:

  • Sponsored advertisements, pushing the same recommendations to the top of users’ feeds, even when they don’t fit under applied filters
  • Popular dominance, often overlooking small businesses and unknown food spots, making it harder for new businesses to find new customers
  • Pay for play tactics, which hurt small business even more by distorting ratings, encouraging large franchises to pay for advertisements to get better visibility.

What it does

Our purpose is in the name – Food Finder curates personalized food recommendations for users, using a questionnaire to figure out the top 3 food establishments based exclusively on what the user wants. 3 options. No ads. Good food. Food Finder factors in users’ preferences on budget, cuisine, occasion, and more.

  • Services 200 food establishments in Gainesville, including burger joints, bakeries, cafes, bars, and more.
  • Allows users to search for something specific with a built-in search engine, or they can explore their options with our questionnaire.

How we built it

  • Retrieve names, addresses, and geographic location of 200 restaurants in Gainesville using openstreetmaps API.
  • Enriched data on restaurants to include price range, cuisine, vibes, occasion, and additional notes.
  • Parsed enriched API data into Supabase, which housed all restaurant data in a large, organized database
  • Generated vector embeddings and used pgvector to create semantics similarity within Supabase
  • Created website with React, providing a seamless user experience.
  • FastAPI allows frontend to backend communication.

Challenges we ran into

  • Rate limits and maximum query parameters restricted the amount of locations we could compile at one time. To resolve this, we divided the city into a 5x5 grid, allowing major areas to get the most coverage including Downtown/University Ave, UF Main Campus, Midtown, Archer Road, and parts of NW and NE Gainesville.
  • Accessing Google Gemini API/Google Cloud

Accomplishments that we're proud of

  • Integrated data collection, enrichment, parsing, semantic search, utilized a backend API, and working React frontend to build an enhanced recommendation system for local food businesses in Gainesville.
  • Implemented vector embeddings within pgvector in Supabase, directing FoodFinder to interpret user preferences based on semantics rather than just keywords
  • Designed a simplistic and minimalistic visualized experience, avoiding decision fatigue and information overload which is common in popular apps such as Yelp and Google Reviews
  • Supports local small businesses by prioritizing customer preferences over paid promotions and biased sponsorships
  • Developed creative animations to enhance website interface

What we learned

With a team of 4 students with diverse levels of coding experience, each and every one one of us learned something new.

  • How to work with real APIs and handle rate limits, incomplete data, and paid barriers
  • How to integrate backend to frontend, connecting various components such as APIs, Supabase, vector search, and semantics interpretation based on user feedback.
  • Learned how to balance different programming languages, AI prompting, digital design, and human psychology, to create an aesthetically- pleasing and user-friendly website.

What's next for FoodFinder?

As of right now, FoodFinder is catered towards college students at the University of Florida, highlighting restaurants that are easily accessible for students. As our web development expands, FoodFinder will eventually expand to serve more than just the Gainesville community. We also hope to move our services to an app that can be accessed through an app store such as Apple App or Google Play on mobile devices.

Built With

Share this project:

Updates