Creator — Building a Ghost Theme (Work Log)

Building Creator, a free open-source multipurpose Ghost theme — documented step by step, in the open.

Creator Jun 2026 1 min read
Creator — Building a Ghost Theme (Work Log)

This is the build log for Creator — a free, open-source multipurpose Ghost theme for builders, makers, and software engineers. I'm building it in the open and journaling every step so anyone who wants to build their own Ghost theme can follow the same path.

What Creator is

One theme that's a home for the whole maker: blog, portfolio, project showcase, courses, and newsletter — tag-driven, fast (Lighthouse 100), accessible, and easy to fork.

Why I'm building it

  • To learn Ghost deeply — Handlebars, contexts, routes.yaml, dynamic collections, membership.
  • To ship something the community can actually use or learn from.
  • imswarnil.com already runs on Ghost; I want to understand the platform at that level.

How to read this log

Each part below is one work session: the task, what I did, what broke, how I fixed it, and notes for anyone repeating it. Read them in order — they build on each other.

The stack

  • Ghost (local install) + the official Starter theme as a base
  • Handlebars templating
  • Tailwind CSS + daisyUI
  • Claude Code in the workflow
Build in the open. Document the boring parts too — that's where people actually get stuck.

Advertisement

How I built it

Build log

  1. Part 1 — Initial Ghost setup — installing Ghost locally Start · 01 Jul 2026
  2. Part 2 — Navigating the Ghost admin panel 02 Jul 2026
  3. Part 3 — Cloning the Starter theme as the base 03 Jul 2026
  4. Part 4 — Understanding Ghost theme structure 04 Jul 2026
  5. Part 5 — Setting up Git and open-sourcing the theme 05 Jul 2026
  6. Part 6 — Integrating Claude into the theme workflow 06 Jul 2026
  7. Part 7 — Handlebars basics in Ghost 07 Jul 2026
  8. Part 8 — Working with the {{#foreach}} loop and post object 08 Jul 2026
  9. Part 9 — Understanding contexts and the {{#is}} helper 09 Jul 2026
  10. Part 10 — Building reusable partials 10 Jul 2026
  11. Part 11 — Using Ghost Handlebars helpers 11 Jul 2026
  12. Part 12 — Adding Tailwind CSS to a Ghost theme 12 Jul 2026
  13. Part 13 — Setting up the build and dev workflow 13 Jul 2026
  14. Part 14 — Integrating daisyUI and dark mode 14 Jul 2026
  15. Part 15 — Defining the theme design system 15 Jul 2026
  16. Part 16 — Building the post card component 16 Jul 2026
  17. Part 17 — Styling Koenig editor content 17 Jul 2026
  18. Part 18 — Understanding routes.yaml in Ghost 18 Jul 2026
  19. Part 19 — Creating tag-driven collections 19 Jul 2026
  20. Part 20 — Building custom templates 20 Jul 2026
  21. Part 21 — Creating a custom project/showcase layout 21 Jul 2026
  22. Part 22 — Building series / course-style grouping 22 Jul 2026
  23. Part 23 — Building the homepage 23 Jul 2026
  24. Part 24 — Building author and tag archive pages 24 Jul 2026
  25. Part 25 — Setting up membership and the Portal 25 Jul 2026
  26. Part 26 — Adding the newsletter and subscribe form 26 Jul 2026
  27. Part 27 — Adding SEO and structured data (JSON-LD) 27 Jul 2026
  28. Part 28 — Optimizing performance (Lighthouse) 28 Jul 2026
  29. Part 29 — Validating with gscan and accessibility audit 29 Jul 2026
  30. Part 30 — Packaging and releasing the theme Shipped · 30 Jul 2026

Open thread

Issues & feedback

Found a bug? Have a feature request? Open an issue below — no GitHub account required, and yes, I actually triage these.

The end. Or is it?

Liked this? There's more where that came from.

I build things like this for fun — and, occasionally, for money.

No projects were harmed in the making of this page.

More from the workbench

Related projects

Project screenshot