Cookie is a self-hosted recipe manager that searches, imports, and organises recipes from 15 cooking websites, or any URL with structured recipe data. It runs on modern phones and laptops, and on old iPads from 2012 that can't run anything else. Two frontends, one API, feature parity between them.

I built the original prototype in 3 days and have been developing it since. It's coming soon at cookie.matthewdeaves.com.

Features

  • Search across 15 recipe sites simultaneously (AllRecipes, BBC Good Food, Serious Eats, and more)
  • Import by URL from any site with automatic extraction of ingredients, steps, and timings
  • Dual frontend: React 19/TypeScript for modern browsers, vanilla ES5 for iOS 9 Safari
  • Step-by-step cooking mode with built-in timers, audio alerts, and screen wake-lock
  • Multi-profile system with collections, favourites, and per-user preferences
  • Passkey authentication (WebAuthn) or home mode (no login) with device code pairing for legacy iPads
  • AI-powered recipe remixing, serving adjustments, personalised discovery, and cooking tips (optional, via OpenRouter with 10 models across Claude, GPT, and Gemini)
  • 26-job CI pipeline with security scanning (Trivy, Semgrep, Bandit, Gitleaks)
  • No tracking, no analytics, no email addresses stored, functional cookies only

Tech Stack

Django 5 Django Ninja React 19 TypeScript ES5 (legacy) Tailwind CSS PostgreSQL 18 Docker nginx

Screenshots

A selection of screenshots showing Cookie across different platforms and themes.

Desktop

Home screen with recently viewed recipes
Home - Recently Viewed
Recipe detail showing instructions
Recipe - Instructions
Cooking mode with active timer
Cooking Mode
AI-powered recipe recommendations
AI Recommendations

Mobile

Mobile home screen
Home
Mobile recipe ingredients
Recipe - Ingredients
Mobile cooking mode
Cooking Mode

Legacy iPad (iOS 9)

Legacy iPad home screen
Home
Legacy iPad recipe with AI tips
Recipe - AI Tips

View all screenshots →