Inspiration
The inspiration came from the fact that every week, my wife and I cook together. We select recipes by going through our cookbooks, but we usually end up picking the same ones. We have to manually add ingredients to our grocery list app, and then bring the books back out to get the instructions. It’s a bit tedious to do this every time for recipes that don't really change.
I was always thinking that this is something I could build an app for. So when I heard the brief from Ethan, I directly thought, "That's exactly the problem I have." It really connected with what I wanted to do, so I just started to build it.
It wasn't just a hackathon project, it's a personnal project for me.
What it does
Zestio is a personal AI-powered cookbook that helps you shop and cook.
It imports recipes from anywhere. Found a recipe on TikTok or Instagram? Just paste the link. Have a family recipe in a physical cookbook? Snap a photo and Zestio extracts it.
Once a recipe is in your collection, the AI helps you make it yours. It can swap ingredients based on what you have or your diet. If you don't like cilantro, Zestio suggests a substitute and explains why it works.
When you are ready to cook, your grocery list builds itself. But it's smarter than the usual approach. Zestio knows you probably already have salt and pepper at home, so it filters out pantry staples. You can manage separate lists for kitchen ingredients and household items, and share them in real-time with your partner so you are never buying duplicates.
And when you aren't sure what to cook next? A discovery feed lets you scroll through your own recipes to find your next meal in a playful, visual way.
How we built it
I started the app with my mobile boilerplate which I use for all my apps. It uses Expo and comes with onboarding, RevenueCat, and a paywall already configured, so I had all the bases needed for the mobile experience.
Then I switched it to a monorepo so I could have an API and web server for future SEO URLs alongside my mobile app.
Most of my coding was done with Claude Code and Cursor. For the backend, it was like 95% done by AI. I just reviewed the code to check for blatant security issues, ensuring the prompts were in line with what I required, and that SQL queries weren't returning data I didn't want.
For the frontend, about two-thirds was done by AI. I did the rest myself, mostly improving small UX details and fixing bugs. It was often more efficient for me to fix it directly than to try to explain the specific issue to Claude.
In the end, I purchased a VPS to deploy the app. I used Coolify so I could just push everything to GitHub and it auto-deployed the API on the server.
Challenges we ran into
Importing from TikTok and Instagram was the biggest unknown. I had never done it before, so figuring out how to reliably extract recipe content from video platforms while keeping AI costs manageable required real research and experimentation.
Another challenge was building a grocery list that feels "real." Every recipe app I've used just dumps ingredients into a list and calls it done. But I don't need to be reminded to buy salt. I wanted pantry awareness, the ability to add non-recipe items, and separate lists for kitchen vs. household.
Time was also a major factor. I work a full-time job and run other apps, so building Zestio on a hackathon deadline meant making hard cuts. I wanted a meal planner and Apple/Google login, but I scoped them out deliberately so I could ship a polished core experience instead of a half-finished feature set.
Accomplishments that we're proud of
The AI ingredient substitution system works remarkably well. It doesn't just swap ingredients, it explains why the substitute works and how it affects the dish. The user experience around it feels natural and genuinely useful.
The video import pipeline was also a big win. Going from "I have no idea how to do this" to a working system that extracts structured recipes from TikTok and Instagram videos was very satisfying.
Finally, building my first proper backend with deployment was a milestone. My previous apps were local-first with minimal APIs. Setting up a real server, WebSocket infrastructure, and deployment pipeline was stressful but rewarding.
What we learned
The biggest learning was standing up a real backend. Coming from local-first apps, managing server deployment, WebSocket connections, JWT authentication across HTTP and WS, and database migrations was new territory. It forced me to think about architecture differently.
What's next for Zestio
Ship first, then iterate. The app is feature-complete for a strong v1. Before adding anything new, the priority is releasing to the App Store and focusing on marketing.
Organic growth is the strategy because Zestio is inherently visual. Recording yourself importing a random TikTok recipe, swapping an ingredient with AI, and adding it to your grocery list makes for compelling short-form content.
After launch, I'll add the features I cut:
- Meal planning: To plan your week's meals and auto-generate a combined grocery list.
- Social Login: Accounts with Apple and Google login.
Built With
- coolify
- hono
- react-native
- revenuecat
- supabase
Log in or sign up for Devpost to join the conversation.