Inspiration
We have all been there. You are scrolling through your feed and see an amazing recipe video that makes your mouth water. You get inspired to cook it but then life gets in the way. Usually, that inspiration dies because you do not want to deal with the friction of pausing a video every five seconds to write things down. Even worse, you forget which video it was or where you saved it. I wanted to build a bridge between that moment of "I want to make this" and the moment you actually pick up a spatula. Savor is designed to close that gap and make cooking as easy as clicking a link.
What it does
Savor is your personal kitchen assistant that turns any cooking video into a structured recipe instantly. Instead of hunting through a twenty-minute video for a single measurement, the app pulls out ingredients, steps, and nutrition info automatically. You can build your own digital cookbook, generate grocery lists that are organized by store aisle, and discover curated weekly picks if you are feeling indecisive. Since everything syncs across your devices, you can find a recipe on your couch and follow it on your tablet in the kitchen without missing a beat.
How we built it
The core of the experience is built on React Native with Expo, which allowed me to create a smooth mobile app for both platforms. On the backend, I used Convex to handle real-time data sync and authentication. For AI processing, I integrated the Gemini Video Understanding API to extract data from raw video content.
I built the extraction pipeline using durable Convex workflows. This part is pretty clever because it does not just blindly process every video. The workflow first checks if the ingredients or steps are already in the video description to minimize processing time.
The entire monetization and access layer is powered by RevenueCat. I used RevenueCat to manage subscriptions and implement a credit-based system. By using their virtual currency features, I can give users a set amount of "Recipe Scans" that refresh every month. This ensures the app remains sustainable while providing a smooth checkout experience.
For development I used Rork(from the shipping container) for the Expo app to iterate on early designs and features. The backend is all custom code.
Challenges we ran into
The biggest hurdle was the sheer variety of video content out there. Every creator has a different style and some do not even mention specific measurements out loud. Getting accurate recipes from random YouTube videos took a massive amount of prompt engineering with the Gemini API to ensure the data stayed clean.
I also had to figure out how to bridge the gap between the free tier and the paid features. I had to ensure that when a user moves from their free local credits to a paid subscription, the entitlement state updates instantly across the app. RevenueCat made this much easier by providing a reliable source of truth for user entitlements.
Accomplishments that we're proud of
I am genuinely thrilled that the video-to-recipe conversion works so reliably. You can paste a YouTube link or share it directly from another app and get back a clean, formatted recipe in seconds. I am also proud of the smart workflow optimization. It is not just a cool feature but a practical way to save on API costs.
I am particularly proud of the professional feel of the monetization flow. By using RevenueCat, I was able to implement a robust subscription model that feels like a top-tier App Store product. Being able to use their dashboard to track how many users are converting from my manual free tier into paid virtual currency holders is a huge win for understanding my app's growth.
What we learned
This project taught me that AI workflow orchestration takes a lot more finesse than I originally expected. I learned that durable workflows are the perfect tool for long-running video tasks because they can handle interruptions gracefully.
On the monetization side, I learned that while managing a simple free tier is straightforward, scaling to a real business requires a professional toolset. Integrating RevenueCat taught me how to think about entitlements and "pro" features as a separate, secure layer of the app. It really highlighted how much complexity goes into building a reliable subscription and currency system from scratch.
What's next for Savor
The roadmap for Savor is all about making the kitchen experience even more automated. I want to add meal planning that integrates directly with your digital calendar. I am also looking into social features so you can share your favorite finds with friends or family. Beyond that, I plan to dive deeper into RevenueCat’s experiments feature to test different price points for my virtual currency packs and find the perfect balance for my users.
Built With
- convex
- expo.io
- gemini
- react-native
- revenuecat
- typescript
Log in or sign up for Devpost to join the conversation.