Inspiration

When I moved to university and started living away from home for the first time, I suddenly had to figure out what to eat every single day. Between lectures, assignments, part-time jobs and grocery shopping, cooking for myself was a bigger challenge than I expected.

I've often bought vegetables with plans to cook something healthy, only to find them spoiled at the back of the fridge a week later. And as a student on a budget, throwing away food also means throwing away money.

That's how the idea for SavourIt started. I wanted to make one small part of independent student life easier: figuring out what to cook with the food I already have, before it goes to waste.

What it does

SavourIt is a smart pantry that helps students keep track of groceries and decide what to cook.

  • Scan: Take a picture of a grocery item and let Gemini identify it.
  • Track: Keep your groceries, quantities and expiry dates in one place.
  • Cook: Get recipe suggestions based on what's actually in your fridge, your dietary preferences and how much time you have.
  • Save: Prioritise ingredients nearing expiry instead of letting them go to waste.

The goal is simple: less time wondering what to eat and less food ending up in the bin.

How we built it

We built SavourIt using HTML, CSS and JavaScript for the frontend and Python with FastAPI for the backend.

We integrated Google Gemini for grocery image recognition and AI-powered recipe generation, and TigerData (PostgreSQL) to store and retrieve pantry inventory.

The interesting part was connecting everything together, so that recipe suggestions aren't just random AI-generated meals but are based on the ingredients users actually have.

We also prepared a Docker-based deployment setup for Vultr.

Challenges we ran into

With two team members coming from non-CS backgrounds, one of our first challenges was figuring out how to bring our different skills together and learn unfamiliar technologies quickly.

On the technical side, getting all the pieces to communicate properly was harder than expected. At one point, our recipe feature was showing hardcoded suggestions instead of using groceries stored in TigerData. Tracking down and fixing that took more debugging than we expected!

We also ran into Gemini API reliability issues and had to handle failed requests without breaking the cooking experience.

And of course, building everything in 24 hours meant constantly deciding what to prioritise and what to leave for future integration.

Accomplishments that we're proud of

We're proud that we managed to turn a problem we personally relate to into a functioning prototype. We connected a real database, built an AI-assisted grocery scanning flow and made meal suggestions work with actual pantry data and cooking-time constraints.

We built something we'd genuinely want to use ourselves.

What we learned

We learned how to break a big idea into smaller tasks, debug problems together and make decisions under a tight deadline. We also realised that getting an AI model to generate an answer is relatively simple and quick but making sure the data flows correctly, handling errors and creating an interface that's easy to use are just as important.

Working with Gemini, TigerData and FastAPI also gave us a much better understanding of how different services come together in a full-stack application.

One of our biggest takeaways was that a simple idea, executed well, can be more valuable than lots of complicated features.

What's next for SavourIt

Technically, we'd love to integrate ElevenLabs for a voice-powered cooking assistant that guides users through recipes hands-free, and deploy SavourIt to the cloud using Vultr so anyone can access it.

We also plan to add expiry notifications and a dashboard showing how much food and money users have saved.

Ultimately, we want SavourIt to make eating well, saving money and reducing food waste a natural part of student life.

Built With

Share this project:

Updates

Submission history