Inspiration

As college students, we constantly struggle with deciding what to cook with the few random ingredients we have on hand. Ordering food is expensive, and recipes online often assume a fully stocked pantry. We wanted to solve this problem by creating a tool that helps students find quick, simple recipes based on ingredients they already have, while also pointing them to nearby grocery stores for the missing items.

What it does

SparkBite lets users input the ingredients they have, then returns fast, under-20-minute recipes. It also highlights which ingredients are missing and integrates with Google Maps to suggest the nearest stores where those missing items can be purchased. The app is targeted at college students looking for budget-friendly, no-fuss meals.

How we built it

-> Next.js & TypeScript for the frontend and backend routes.
-> Google Gemini API for generating recipe search queries and summaries.
-> DuckDuckGo HTML scraping (later tested with Bing/Google Custom Search) to fetch live recipe links.
-> Cheerio for parsing recipe schema data from websites.
-> Clerk for a lightweight authentication system with login/logout UI.
-> Tailwind CSS for fast, clean, and responsive styling.
-> GitHub for collaboration and version control.

We coded primarily in TypeScript and a bit of JavaScript, using React/JSX for the UI and backend API endpoints to handle recipe search/extraction.

Challenges we ran into

-> DuckDuckGo’s HTML search was inconsistent across different machines, sometimes returning no results despite identical queries. Debugging this took hours.
-> Parsing recipes from different websites was tricky since schema.org formatting is inconsistent.
-> Handling state management for user authentication while keeping the UI simple.
-> Balancing time constraints with building a full-stack app that integrated AI, scraping, and maps.

Accomplishments that we're proud of

-> Built a working prototype that successfully suggests recipes from real websites based on limited inputs.
-> Integrated AI (Gemini) to make the search experience smarter and more natural.
-> Designed a clean, user-friendly interface with login/logout functionality and recipe cards.
-> Learned to collaborate efficiently using GitHub, managing merges and conflicts during the hackathon crunch.

What we learned

-> How to integrate generative AI APIs (Gemini) into a real-world project.
-> The difficulties of web scraping at scale, especially across different environments.
-> How to use Clerk for authentication in a Next.js app.
-> The importance of debugging collaboratively and testing on multiple machines.
-> Time management in hackathons: deciding which features to cut and which to polish.

What's next for SparkBite

-> Switch from DuckDuckGo scraping to a more reliable search API (Google Custom Search).
-> Add user personalization: save favorite recipes, track pantry items, and suggest meal plans.
-> Improve recipe parsing with a unified schema handler.
-> Expand beyond college students to anyone looking for fast, ingredient-based meal ideas.
-> Deploy SparkBite publicly so students can actually use it as their go-to cooking companion.

Built With

Share this project:

Updates