The New Vertical by Scott Steinhardt

Building Moonshake, a CMS Made Using Claude and Obsidian

May 13, 2025

I recently got excited about writing again.

For the longest time, I put my novel off to focus on life things. Work. Family. An uncharacteristic and unhealthy amount of time poured into Assassin's Creed Shadows.

I've been distracted, to say the least.

I fixed this with two tools: a Traveler's Notebook I found when cleaning out my storage unit, and Obsidian — a markdown-based note-taking app that makes it incredibly easy to just write.

I'm back on my book bullshit, finishing up the last third of my novel after keeping it in a drawer for about 18 months. Yet when I'm not doing that (or, again, playing more Assassin's Creed — much to the chagrin of my wife), I keep writing down ideas in Obsidian.

As I continued to use Obsidian, I wished there was a way for me to take what I write in the app (which I'm currently using to write this) and translate it into a blog I host. Obsidian's hosting is pretty barebones and simple, but it's also a pain in the ass to customize and is another $8 a month that I really don't want to spend. (I would give the company as much money as possible for things I use, which I do with Obsidian Sync.)

So, I asked Claude to help me build an Obsidian-powered lightweight CMS that works with my barebones storage allotment on Fastmail.

Introducing Moonshake

This is Moonshake, a dead-simple CMS that I build locally and deploy on Fastmail. All I have to do is write in Obsidian, quickly rebuild the site in Mac's Terminal, and drag the folder over to Fastmail. It's not as automatic as, say, Wordpress or my instance of Ghost, but it does what I want it to and well.

It's also easy enough to copy. One look at this Readme and you can figure out how to build your own version of Moonshake rather effortlessly. You can even call it something that's not a song by the band Can. The only limits are your imagination.

Why Moonshake?

I've used the internet for over 33 years, and 28 of those years were spent blogging. 98% of those blogs are gone for one reason or another, but mostly because of how annoying it was to use a CMS and the distractions a new update brought.

Writing in Obsidian and deploying it to the web is as close to effortless as possible. It makes sense to my brain, and it's something that I look forward to updating multiple times a week. By removing this barrier, I can start writing more, sharing more, and publishing in the precise manner I wish to publish.

Where Can I Find Past Blog Posts?

I built a very early yet quite arduous CMS using Claude late last year. Here's my introductory post on that and here's a fun word search I made in that early CMS. I never released this widely, but here's an absurdist blog post that changes with each iteration, which I sent to friends over the holidays.

I will still share Generative AI experiments, much of which may help explain and expand on what I do professionally to actually help people. I'll just do this via Moonshake going forward.

--

Building Moonshake was a fun experiment. I don't plan on expanding on it much, if at all, save for some bug fixes and web modernization additions. I simply want to write, write more, and do so without barriers. This is the closest I've been to accomplishing such a feat.