Blog
Notes from the workbench
How we build our apps: the patterns, the numbers and the mistakes, written for developers.
Recipes, not prompts: one edge in front of every app
Our apps never name a model or send a prompt. They name a recipe, and a small Cloudflare Worker does the rest. Here is the pattern and why it has paid for itself.
Short, springy, about the thing touched: RetroReady's motion rules
The four animation pieces behind RetroReady, with their real numbers in Flutter and CSS, and the rule that decided all of them.
Valid JSON, junk inside: guarding model output before users see it
Structured output mode guarantees JSON, not good JSON. A cheap second check against the schema and a short list of junk patterns turned unusable answers into failed steps the ladder could route around.