Inspiration
Every weekend, someone in our family finds a great YouTube cooking video — then spends the whole time rewinding for ingredients, pausing for steps, and scrambling to write a grocery list. We built Sous to be the assistant that watches the video so you can just cook.
What it does
- Paste a YouTube link and Sous uses AI to extract a clean, structured recipe — ingredients, steps, cook times, and servings — in seconds.
- Save recipes to your library, auto-generate grocery lists, track cooking history, and share with anyone via a simple web link.
How we built it
It's a TypeScript monorepo: Express backend with Google Gemini for AI extraction, PostgreSQL via Drizzle ORM, and Supabase auth. The frontend is an Expo React Native mobile app and a React web app, both using Zustand for state management. RevenueCat handles subscriptions with server-side webhook processing.
Challenges we ran into
- Getting consistent structured output from wildly different cooking video formats
- Showing progress while extracting recipe to users
Accomplishments that we're proud of
- Mobile app and web pages with landing page to support mobile app
- Mobile app that supports save and share recipes with cooking mode
What we learned
- Revenuecat integration
- AI output is only as useful as the structure you enforce — strict Zod validation on extraction results matters more than trusting raw model output.
## What's next for Sous
- Support for more video platforms beyond YouTube
- Meal planning with weekly grocery consolidation
- Recipe scaling for any serving size
- Longer term, hands-free step-by-step cooking mode with timers and voice guidance.
Built With
- expo.io
- gemini
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.