From Sculpin to Statamic: Breathing New Life into My Blog

Published in side note, tips on Jun 7, 2025

I started mikhailkozlov.com in 2016 on Sculpin, a PHP-based static site generator that let me keep everything in Markdown and deploy to GitHub Pages with a single command. It was lightweight, elegant, and - best of all - written in the same language I used every day at work.

Fast-forward

Fast-forward to 2025 and the picture looks different:
• The last tagged Sculpin release landed in December 2020.
• Pull requests pile up unanswered.
• Composer updates regularly break the build on PHP 8.3.
• Google turns up more archived forum threads than fresh tutorials.

None of this is a criticism of the original maintainers - open-source time is a finite resource - but it does mean that every time I want to write, I first have to debug the toolchain. That friction is enough to make the “I’ll post this next weekend” drafts accumulate dust (not that I had any 😉 ).

I need something that just works when inspiration strikes, yet stays true to my Git-based, Markdown-first workflow.

Choosing Statamic

Statamic 3 checked every box on my wish-list:
1. Actively maintained by a full-time team and a growing community.
2. Laravel under the hood, so extending it feels natural.
3. Flat-file (or database if you want) storage - my content still lives in Git.
4. Static Site Generation via the official statamic/ssg addon, perfect for Netlify or GitHub Pages.
5. A modern Control Panel that spares me hand-editing YAML cause no one does that.

Bonus: I’ve already spent the past year knee-deep in Filament and other Laravel tools, so the learning curve was surprisingly gentle.

Migration Snapshot

The high-level migration steps looked like this (I’ll dig into each in a follow-up post):
1. Spin up a fresh Statamic site with the CLI and add the ssg addon.
2. Export Markdown from Sculpin as simple as copy paste.
3. Update templates, swapping in TailwindCSS for the aging Bootstrap theme.
4. Write a small PHP script to translate Sculpin’s taxonomies to Statamic’s collections and terms.
5. Deploy to GitHub Pages with some good old rsync magic.

Spoiler: it took one rainy Saturday afternoon and two cups of coffee.

What’s Next?

Now that the plumbing is in place, I can finally focus on writing!