How to Build a Custom Astro Blog in a Day

How to Build a Custom Astro Blog in a Day

The premise

I’ve built more public-facing websites than I care to admit—at least a hundred in this lifetime alone. After a while, you notice the real requirements never change:

  • Extensibility — dead simple to maintain, yet flexible enough to plug into anything
  • Maintainability — no fragile setups, no yak-shaving
  • Performance — fast, small, SEO-friendly, Lighthouse-obsessed

You can add cost efficiency, ease of use, scalability and so on, but these three are the real pillars. Hit them and the rest follows.

The traditional process (the one I ignored)

This is how the corporate world rolls:

  1. Conceptualize — figure out what and why
  2. Research — evaluate frameworks and tools
  3. Design — mockups, prototypes, infinite Figma loops
  4. Develop — code + infra
  5. Test — QA, performance passes, fixes
  6. Deploy — ship it
  7. Maintain — iterate forever

Very clean, very enterprise, very slow for a single person trying to get something out the door before the heat death of the universe.

My actual goal? Ship fast. Get to market. No excuses.

The reality of personal projects

If you overthink a personal project, it dies. So I set one rule for myself:

Ship the blog today, not “when it’s perfect.”

Here’s exactly what I did, in order:

1. R&D the content

I asked ChatGPT for examples of personal websites from well-known engineers, skimmed through them, and made my own list of what I wanted.

Special thanks to Lea Verou — she inspired the way I structured my blog. I also shamelessly stole giscus from her site for comments.

2. R&D the stack

Originally I wanted animations, WebGL, custom timelines, canvas toys… Then I looked in the mirror and said:

“My dude, this is not how you ship fast.”

So I reached for the tool that gives you the most velocity:

🚀 Why Astro?

  • First-class static site generation
  • Rich ecosystem + integrations
  • Lets you drop in React/Svelte/etc. only when needed
  • Obscene performance by default

Exactly what I needed.

3. Bootstrapping + deployment

I started from the official starter:

➡️ Astro Starter Kit: Blog
https://github.com/withastro/astro/tree/main/examples/blog

Then deployed to Cloudflare Pages.

Wrangler gave me some trouble, so I automated the whole setup with Terraform:

I provisioned the entire project using Terraform because clicking around in the Cloudflare UI is for people with free time.

A few minutes later: deploy done, DNS pointed, blog live.

Time to vibe-code

Before touching anything, I wrote my first post and grabbed screenshots of the default template — a little timestamp for future me.

Then the real fun began:

  • Picked a palette via Color Hunt
  • Let ChatGPT interview me for the About page + footer ideas
  • Ran my CV through ChatGPT and Gemini to extract a proper services/resume breakdown
  • Fed that into Claude, which generated both pages cleanly
  • Used nano banana to create illustrations, including a custom 404 page
  • Polished until it no longer felt embarrassing

The result

The final product: mifkata.com

Was building a full custom Astro blog in a day worth it?
Absolutely.

Did I miss something? Tell me in the comments. 👇

Related Posts

Comments