← All posts

· #meta #tanstack

Hello, world

Welcome to the new blog. This site is a TanStack Start app running on Cloudflare Workers, so every page is server-rendered close to the reader.

Why rebuild?

  • I wanted one codebase for the portfolio and the blog.
  • Posts should be plain Markdown files that live in git.
  • Deploys should be a single command.

How posts work

Each post is a Markdown file in src/content/posts/. A server function reads and renders it, and TanStack Query caches the result on the client so moving between pages feels instant.

export const Route = createFileRoute('/blog/$slug')({
  loader: ({ context, params }) =>
    context.queryClient.ensureQueryData(postQueryOptions(params.slug)),
})

More soon.