Live demo of the Whirlwind template, as shippedStripe test mode: card 4242 4242 4242 4242, any future date, any CVCGet Whirlwind →
Back to Blog

Welcome to the demo blog

What this space is for, and what to expect from it.

Posted by

What you will find here

Release notes when something ships, short guides when a feature deserves one, and the occasional note on how we build. Nothing on a schedule; we post when there is something worth reading.

Editing this post

Posts live in app/blog/_assets/content.js. Each one is an object with a slug, title, description, categories, author, date and JSX content. The shared styles object at the top of that file keeps every post on the same typography.

{
  slug: "my-first-post",
  title: "My first post",
  description: "One sentence for the card and for search engines.",
  categories: [categories.find((c) => c.slug === "tutorial")],
  author: authors.find((a) => a.slug === "team"),
  publishedAt: "2026-02-01",
  content: <section>...</section>,
}