Inspiration

In our experience, the best way to find fresh, healthy, and affordable produce nowadays is commonly through obscure messaging groups such as those on Facebook Marketplace and WeChat. Especially with the dominance of big agriculture companies, it's increasingly difficult for local family-owned farms to find business with most consumers. This is a pain point that all of us face on a day-to-day basis, so here at The Neighbor’s Table we aim to bridge this gap and make a centralized platform where consumers can eat healthy and local while supporting small farms.

What it does

There are two main parts to our app: the marketplace, and the AI Recipe Assistant.

The marketplace is where users/farmers can list whatever produce they have to offer along with prices, and other users are able to see, based on their location, which farmers and sellers are closest to them, what they sell, the price of the goods, etc.

The AI Recipe Assistant is for customers who have some kind of meal in mind; they enter a prompt, our program extracts the keywords from their prompt, and generates a list of ingredients and the recipe those ingredients make. The part that differentiates us is that it gives you a list of nearby sellers for each ingredient and their information, including how far they are from you, the price of goods, and more. This allows the user to not only enjoy their favorite recipes, but have the peace of mind that their ingredients are organic, fresh, and high-quality.

How we built it

The application stores its information on Firestore Cloud, uses Flask for its backend infrastructure, and that to a React frontend web app styled with Tailwind CSS. Users can log in to the webpage through Firebase Auth to create product listings, and the product listings are stored in Firestore Cloud through its API to allow for Marketplace queries of product listing information. We then use Google Maps Platform API to display the closest sellers to the user’s zip code for Marketplace queries.

For recipe queries, we took user input, and used Google Gemini to parse keywords from that. We also created a recipe text layout for Google Gemini to follow consisting of a csv of ingredients and quantities followed by a step-by-step recipe. This lets us display it cleanly on our frontend, and also lets us query the database and Maps API to find ingredients that are available nearby.

Challenges we ran into

Being beginners to real-world app development, we were initially extremely cautious about API key management for fear of accidentally exposing it to the public. We ran into issues with git recognizing .env files and not recognizing .gitignore, but we were able to create a standard environment variable system after looking through online guides.

Another large problem we ran into was setting up Auth0, which we later realized was unnecessary given that Firebase Authentication was trivial to add given our pre-existing Firestore Cloud.

Accomplishments that we're proud of

We’re proud of our UX design. We set out to make an app that was simple to use for sellers and consumers, and we think that we accomplished this by making smooth, logical transitions between webpages in multiple ways. Searches aren’t limited to our marketplace, they can also happen through our recipe ingredient UI or even our homepage. Firebase Auth further simplifies the user experience by keeping their account secure and letting them log in with their personal email or Google account.

Additionally, none of us had used React or Tailwind extensively before this hackathon, so we’re proud of learning lots through the creation of our app.

What we learned

With all of us being Freshmen, this was some of our first experience with both Hackathons and general software development. Also, working on connecting a Flask backend with a React frontend using RESTful APIs was a major milestone. We learned how to structure API endpoints effectively to handle certain operations, query listings, and interact with third-party APIs like Google Maps, Gemini, and Firebase.

What's next for The Neighbor’s Table

Moving forward we’d like to further flesh out our user management system, allowing sellers and buyers accounts to contain saved preferences, order histories, and profiles. We aim to improve the AI Recipe Assistant by incorporating natural language processing to better understand complex queries and provide even more accurate ingredient matches. Additionally, we plan to enable real-time chat functionality between buyers and sellers to facilitate seamless communication. On the marketplace side, we want to implement dynamic filtering and sorting options, improve search algorithms, and further optimize the Google Maps integration for better performance and accuracy. As the application grows, we also intend to deploy it to production, ensuring scalability and security, while continuing to gather feedback from users to refine and expand our features.

Share this project:

Updates

Submission history