Meta-Recipe
Recipe #0: Building the Cookbook in Public
Result:
A running Astro + MDX site, scaffolded and content-ready, in one sitting.
Problem
Most thought-leadership sites are opinions about a skill, not evidence of it. If the pitch is “I can rank in AI answers” or “I can ship AI systems,” the site itself should be the proof — built with the same tools it writes about, and fast/structured enough to actually perform at what it claims.
Pattern
The stack, chosen for cost and credibility rather than novelty:
- Astro + MDX for content — static by default, fast, and each recipe is a portable,
copy-pasteable
.mdxfile with typed frontmatter (title, pillar, result, dates) validated by a content collection schema. - Cloudflare Pages for hosting — free tier, automatic builds on push, PR preview URLs, managed DNS for the domain.
- GitHub as the repo and lightweight CMS — every recipe is a pull request.
Total cost: about $10/year, for the domain alone.
Build sequence:
- Buy the domain at Cloudflare (keeps domain + DNS + hosting in one dashboard).
- Scaffold an Astro site with the MDX and sitemap integrations.
- Define a
recipescontent collection with a schema that enforces the problem → pattern → result → variations structure at the type level. - Push to GitHub, connect the repo to Cloudflare Pages, point the custom domain at it.
- Bake in AEO from the first commit: semantic HTML, per-page structured data (JSON-LD), canonical URLs, a sitemap, and a real About/Work-with-me page — not retrofitted later.
Real result
The scaffold above was stood up end-to-end in one session: Node/npm installed, Astro + MDX + sitemap wired up, content collection schema defined, base layout with SEO/JSON-LD, recipe layout enforcing the four-part structure, and this recipe itself as the first published entry.
Variations
- Swap Cloudflare Pages for Vercel or Netlify if you want a different free-tier tradeoff — the Astro output doesn’t change.
- If you don’t need a CMS UI, MDX-in-git is the simplest option; if non-technical contributors need to publish, layer a headless CMS (e.g. Tina, Sanity) on top of the same content collection schema instead of migrating away from it.
- The content collection schema is the actual lever: change
pillarenum values or add fields (e.g.coAuthor,codeRepo) and every page that renders recipes picks it up automatically.