Why this stack
For a personal site with technical writing, the fastest setup is often:
- a frontend that renders layout and metadata
- a backend collection that stores markdown and post metadata
- runtime fetching so a new post appears as soon as it is published
That avoids coupling content updates to frontend deploys.
The content model
I want the backend record to own:
- slug
- title
- excerpt
- SEO description
- published date
- read time
- tags
- featured state
- markdown body
That is enough to power the blog index, the article page, and social previews without overdesigning the schema.
Performance implications
The frontend should fetch only what the route needs:
Blog index
- title
- excerpt
- tags
- publish date
Article page
- full markdown
- SEO metadata
By keeping the blog shell static and the content dynamic, the site remains quick while still letting the backend act like a CMS.