Hello, world
A first post to mark the template's blog going live — what's here today, what ships next.
This is the first post on the template’s blog. The goal of this surface is simple: keep a public log of what’s shipping, what we learned, and how the pieces fit together.
What’s here today
The blog is a static Astro content collection mounted at /blog. Posts live as
.mdx files in src/content/blog/, frontmatter is Zod-validated at build time, and
every page is pre-rendered at deploy time — no backend, no runtime, no surprises.
Authoring flow
- Run
bun run --filter @ai-letter-app/landing blog:new "My post title". - Fill in the frontmatter and body in the generated
.mdxfile. - Remove
draft: trueto publish on the next build.
You can read more about the template’s design choices on the project repository.
What ships next
Engineering write-ups, product updates, and the occasional customer story. The blog is wired to the same shadcn token palette as the rest of the marketing surface, so light/dark mode just works.