Meal Planner

A recipe collection app with AI-powered scraping. Paste any recipe URL and the app automatically extracts the title, ingredients, and instructions — or paste an Instagram or Facebook Reel link and Google Gemini 2.5 Flash reads the recipe directly from the caption using yt-dlp.

Recipes are saved to your personal Supabase-backed collection. Select multiple recipes to generate a combined shopping list with automatic quantity merging, ingredient normalisation, and imperial-to-metric conversion — so a list of recipes becomes a single, clean list ready for the supermarket.

Gemini 2.5AI-powered recipe extraction
yt-dlpInstagram & Facebook Reel support
SupabaseAuth, recipes & shopping lists
Imperial → MetricAutomatic unit conversion
FrontendContentBFFServicesDataRecipe scraping pipeline

Tech Stack

Frontend

Server-rendered pages with interactive client components for recipe selection and shopping list management.

Next.js 16React 19TypeScriptTailwind CSSLucide React

AI & Scraping

Two-path scraping pipeline: Cheerio for standard recipe sites using schema.org/Recipe JSON-LD, and yt-dlp + Gemini for social media content.

Google Gemini 2.5 FlashCheerio 1.0yt-dlpfraction.js

Backend & Auth

Supabase provides auth, Postgres, and a scrape cache. RLS policies restrict recipe and shopping list access to the owning user.

Next.js API RoutesSupabaseSupabase AuthRow-Level Security