Generate from intent, not filters
Users talk through what they want to cook, then Alchemy turns that context into a recipe set they can refine before saving.
This public site is static by default, typed against the existing API contract, and ready for Cloudflare Workers deployment through OpenNext.
Primary platform
iPhone-first
Recipe import
URL, text, photo
Personalization
Variants, not duplicates
Static landing + live recipe shares
Hero route
cookwithalchemy.com
Legal
/privacy and /terms
ISR page
/recipes/[id]
The starter keeps repo-local content in code today, then leaves room for a CMS later if marketing operations need it.
Product
The public site stays honest about the system: chat-driven generation, import from real sources, and private personalization layered on canonical recipes.
Users talk through what they want to cook, then Alchemy turns that context into a recipe set they can refine before saving.
A recipe link, cookbook page, or pasted text becomes a structured recipe draft that fits the same downstream pipeline.
Public recipes stay stable. Personal variants absorb dietary restrictions, equipment limits, and taste preferences.
Architecture
The starter gives the marketing surface strong defaults without turning the whole site into a permanently server-rendered app.
Landing, legal, and SEO pages live in repo-local content so the public site stays fast and diff-friendly.
Live recipe pages use the existing OpenAPI contracts instead of hand-rolled web-only types.
The consumer site follows the same OpenNext-on-Workers path as admin instead of introducing a second hosting model.
Flow
Use live rendering sparingly: canonical recipe pages, light personalization, and future referral or waitlist edges. Everything else can stay static and cheap.
Editorial pages and legal routes are static, cache-friendly, and easy to evolve without a CMS.
Recipe pages fetch canonical data from the public API, then revalidate on an interval so shares stay current.
Calls to action stay lightweight today, then can expand into App Store, waitlist, or auth surfaces without reworking the stack.
Ready to extend
The public site now has a clear home in the monorepo, a typed API seam, and deployment scaffolding that matches your existing Cloudflare model.