Astro CMS: What I Use for My Site

Why I build jamescampbell.us with Astro for content, markdown files, and low-friction publishing.


I have used WordPress, Hugo, and hand-edited HTML over the years. Astro is the one that sticks for me now.

The reason is simple: Astro treats content as content. Pages are ordinary files. Components are Astro components or markdown files. Output is static unless I ask otherwise.

For a blog with projects and articles, that is a good fit. I can keep posts in markdown, assets in a folder, and deployment simple. There is no admin panel to maintain and no database behind plain text.

The things I like most:

  • Content collections make articles predictable.
  • .md and .mdx files stay easy to edit.
  • Image and markup components do not bloat the page unless needed.
  • Small sites build quickly.
  • Deploying static pages to GitHub Pages or any CDN is straightforward.

I also like that Astro does not force JavaScript on the page. Most of my writing does not need chat widgets, forms, or state. When it does, islands let me add the interactive piece without sending unnecessary code to every visitor.

If you are running a site that is mostly your own words and projects, Astro is a strong default. It stays close to the web platform and keeps publishing lightweight. That is the point for someone who wants to write more than manage.

← Back to articles