Every recipe you love, minus the life story.
Sizzle is a cookbook you run yourself. Share a recipe page from your phone and it keeps the ingredients, the steps and the best photo. The ads, pop-ups and life story stay behind.
Free and open source under the AGPL. Runs in one small Docker container.
Golden roast chicken. Carrot soup. Warm apple crumble.
Miso ramen. Bubbling lasagna. Chocolate cookies.
Lemon salmon. Pea and mint pasta. Strawberry tart.
Smoky tacos. Charred corn. Summer berry tarts.
How it works
-
Share
Save a recipe from your phone’s share sheet, or paste several links at once. Sharing guides cover iPhone, Android and computers.
-
Sizzle cleans it up
Sizzle reads a page’s recipe data without AI. You can also write recipes yourself, or enable Claude to handle pasted text and pages without recipe data.
-
Cook from your collection
Browse a photo grid or a compact list. Search by ingredient, or filter by course, cuisine, diet and time. “I made this” keeps track of when and how often you cook each recipe.
YouTube works too. Sizzle reads recipes from video descriptions or the recipe pages they link to. Recipes that are only spoken in the video aren’t supported yet.
Save it while you’re thinking of it
A good recipe deserves more than an open tab.
Paste a link, or add up to 20 at once. Sizzle reads the recipe data and brings the ingredients, method and photo into your cookbook.
On your phone? Send a page from the share sheet. Have a family favorite? Write it in yourself.
No AI needed for pages with recipe data or recipes you write yourself. Claude is an optional fallback.
Find something you actually want to cook
Your recipes. All in one place.
Browse by photo, search for an ingredient, or narrow things down by course, cuisine, diet and time.
More recipes, less scrolling.
Switch to a compact list when you know what you’re looking for. Photos, cooking times and favorites stay in view.
Made for the kitchen counter
Keep your place.
Get dinner made.
Tap ingredients as you add them. Highlight the step you’re on. The recipe stays easy to follow, even when your hands are full.
On a phone, ingredients and method stack into one easy-to-read page.
Build a collection you come back to
Remember the keepers.
Favorite the recipes worth making again. Tap “I made this” after cooking, and Sizzle remembers when and how often you’ve made each one.
Next time someone asks what you cooked last week, it’s right there.
Preview upcoming themes
Six themes are in development, with light and dark modes that can follow your device. Try a preview below.
Planned: each browser will remember its own look.
Try your first cookbook
With Docker running, start a local trial. No account or AI key is needed. Only this computer can connect, and the trial keeps its recipes in a separate storage volume.
Write a recipe or load the optional sample cookbook, try cooking mode, then download your recipes from Settings. Phone sharing can wait until you install on your server.
docker run -d --name sizzle-try \
-p 127.0.0.1:3001:80 \
--read-only --security-opt no-new-privileges:true \
--tmpfs /rails/tmp:uid=1000,gid=1000,mode=0755 \
--tmpfs /tmp:mode=1777 \
-v sizzle-try-storage:/rails/storage \
ghcr.io/leemac/sizzle:latest
Allow a moment for startup, then open http://localhost:3001.
Stop with docker stop sizzle-try; resume with docker start sizzle-try. Both keep
your recipes. The
removal guide
explains how to delete the trial and its data.
Yours, on your own server
Run Sizzle in one Docker container on a home server, NAS or Raspberry Pi. Your recipes and photos stay on your server, with no tracking or Sizzle subscription.
Sizzle has no login yet. Keep it on your home network, or use Tailscale to reach it away from home. Optional Claude extraction uses your own API key and is billed by Anthropic.
Tech specs
- One Docker container
- SQLite · no external database
- amd64 and arm64
- No AI required
1. Download the files
With Docker and Compose installed:
mkdir sizzle && cd sizzle
url=https://github.com/leemac/sizzle/releases/latest/download
curl -fsSLO $url/docker-compose.yml
curl -fsSL $url/env.example -o .env
2. Set your share token
openssl rand -hex 32
Open .env in a text editor, paste the generated value after SIZZLE_API_TOKEN=, and
save. This protects sharing requests, not the web UI. Leave the Anthropic key empty to try without AI.
3. Start your cookbook
docker compose up -d --wait
When the health check passes, open http://<your-server>:3000. On the server itself, use
http://localhost:3000.
Built in the open
Sizzle is free to run, modify and share. The code, roadmap and security model are on GitHub, and bug reports and ideas are welcome.
See what’s being built