Why I Built My Own Ghost Theme
A while back, I planned to take the easy route here.
I could have picked a polished Ghost theme, changed a few colours, swapped in my copy, and called it done. That would have been faster, and honestly, probably good enough for the purpose I was after.
But “good enough” just doesn't quite sit right. I didn't feel proud of this efficiency, just lazy.
This site is doing a few jobs at once. It’s my home on the internet, obviously. But it’s also becoming a place to document technical work, publish writing, and support a much bigger project around this Ghost application. I needed the site to feel like mine, but I also needed it to behave the way I wanted, grow in the right directions, and give me room to think like a builder instead of just a content editor.
So I built my own theme. And here I am, polishing it until it glistens.

More accurately, I started with a solid foundation and made it my own. The custom theme is based on Ghost's official newsletter theme, Dawn; it’s been customized into the working foundation for this site, with a focus on clarity, accessibility, and sustainable technical storytelling.
That last part matters to me the most.
I didn’t want to build something that looked clever for five minutes and became annoying to maintain the moment I had real content to publish. I wanted a structure that could support a custom homepage, a dedicated blog archive, synced newsletter potential, and the ability to create separate landing pages to make the whole thing feel more traditional — all without the site feeling stitched together. This kind of flexibility was part of the goal from the start.
I’m also just not that interested in treating themes like decoration.
For me, a theme is infrastructure. It shapes how content is organized, how people move through the site, how easy it is to extend later, and how confidently I can keep shipping features and content. A lot of the work behind this project has been about challenging my internal processes to make the system legible: documenting architecture, templates, partials, performance strategy, operations, and even future plans in a way that makes the site easier to understand and evolve.
That’s probably the clearest reason I built my own theme: I wanted the site to reflect how I like to work.
I like systems that are clear.
I like design that has rules.
I like structure that makes future changes easier, not harder.
And I like knowing exactly how something is put together.
Building my own theme gave me that. It also gave me a better way to prove the kind of thinking I bring to technical work without spilling any proprietary beans. A lot of my professional experience lives inside confidential systems I can’t share, so this project has become a productive method of making that thinking visible. Rather than describing it in the abstract, I decided it's time to build something real.
There’s still plenty to refine. The docs are live now, the content is growing, and the system is still taking shape. But that’s part of why this has been so satisfying already: it doesn’t feel like I’m filling out a website. It feels like I’m building a platform I actually want to keep using!
Next up, I'll be finalizing some research on DocsGPT to build out a self-hosted AI website assistant to help users around the site. Stay tuned!