The "Dishwasher Salmon Problem": Recipe sites modify recipes for SEO, creating an arms race that produces worse content (yes, dishwasher salmon is real: en.wikipedia.org/wiki/Dishwa…). I built a solution: Cooklang Federation—a decentralized search for community recipes.
This is also the 4-year anniversary of Cooklang! Started with a simple spec, now it's an ecosystem: • Parser libraries (Rust, JS, TS) • CLI tools • iOS/Android apps • Editor extensions • 30+ repos on GitHub And now: the federation ✨
Goal: Build a sustainable alternative to ad-driven recipe sites. Community-curated, not algorithm-driven.
Try it: recipes.cooklang.org
Contribute: github.com/cooklang/federati…
Read more: cooklang.org/blog/13-the-dis…
Questions welcome! 👨🍳
This parser release completes the preparatory work for recipe scaling in both the CLI and Android app, and implements the proposed recipe linking feature github.com/cooklang/cooklang…
Historic moment for Cooklang: I’ve finally calculated the cost of my favorite pancake recipe. (it's for 8 servings!)
A new Cooklang lib to calculate any stuff for recipes. On a proof of concept stage github.com/cooklang/cooklang…
Recently we added a Mise en Place screen to the Android app—helping you prep ingredients before you start cooking. No more mid-recipe surprises! Check out the app play.google.com/store/apps/d….
Meal planning usually fails because people plan meals for their ideal selves—nutritionally virtuous, always in the mood to cook—rather than their real selves, who come home tired and just want a toastie. Plan like you know yourself.
1/ Right. Let’s talk about potatoes. The noblest of vegetables. The edible hug. The starchy cornerstone of civilisation. And yet, many of you are butchering them. A thread on doing them justice. 🏆🥔
8/ Dauphinoise – Layers of potato luxury. Cream, garlic, cheese (if you’re rebellious). Bake slowly until soft and golden. If your guests don’t moan at the first bite, start again.

