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

Share this project:

Updates