Building This Blog
How I rebuilt my personal website with Astro and GitHub Pages
A few months back I launched this website to document my personal and professional work. It replaced an older personal page from several years ago—one I’d long outgrown. I wanted something cleaner and more structured, where I could showcase my writings, talks, and other projects in one place.
Design Goals
When rebuilding, I focused on two main priorities:
- Low maintenance: I’m not a frontend developer, and I didn’t want to spend time wrestling with deployment pipelines or frequent updates. The site should be easy to extend with minimal overhead.
- Open source by default: I stuck with GitHub Pages as I’m comfortable in the GitHub ecosystem, it makes open sourcing effortless, and the deploy flow stays simple. If someone can learn from it or adapt it, that’s a bonus.
Tech Stack
The first tool I tried was Astro, and it seemed to align well enough with my needs so I went ahead with it. Simple deploys and minimal JavaScript fit my skillset and the scope of this site.
My one lingering concern after the docs was deployment. Astro’s guides push the Netlify deployment platform, but I did not want another account, an ugly default URL, or a paid tier just to rename it. I wanted to stay on GitHub Pages, and thankfully Astro has built-in support for that path.
The deployment flow is simple: push to master, and GitHub Actions rebuilds the site and deploys the dist/ folder. No servers, no databases, no configuration drift.
For styling, I leaned on GitHub Copilot. I’m not a designer, but with Copilot’s help I was able to iterate quickly on the layout and get something that looks clean without too much trial and error.
Check It Out
The source for this site is available on GitHub. Feel free to fork it, adapt it, or just poke around to see how it’s structured. If you’re building your own blog, I hope it’ll give you some ideas.