1
0 Comments

Indestructible CMS

Hello IH,

TL;DR:

I'd like to share with you: re:draft — a minimalist writing platform designed to make your content indestructible.

It's still a very early version, but I'd love feedback from anyone willing to try it. Any questions, please ask.

Shout out to @jackobbeckerman for the excellent on-boarding library I'm choosing to integrate into re:draft (it's not there yet though — soz).

EDIT: If you want to jump straight to the app, click here.

The Why

I built the first version of re:draft for myself a few years ago after a catastrophic error on my part while upgrading Ghost CMS (you can read about it here, if you wish). I was frustrated with the fact that Ghost (and WordPress, and other CMSs I had worked with over the years) didn't provide an in-built mechanism to protect one's content.

Meanwhile, in dev-land, it's the norm to put work under version control the moment one starts a project. Being a developer who, at some points, writes as much prose as code, I really wanted the same type of protection for my content. I looked around for CMSs that had more robust and less superficial change tracking than "revisions" (as seen in platforms like WordPress). But there were none.

There was the option of using something like Jekyll, which is a static site generator (and there are many of them). I like the concept of static site generators, and going that route meant I could manually manage the storing of my content in a Git repo. But that seemed cumbersome, and I'd also have to sacrifice some of the conveniences of CMSs that I quite enjoy. There was also the option of using Github pags, but there were limitations around SSL certificates and custom domains at the time, plus the Git repository had to be public, which I didn't like. So I wondered how feasible it would be to create a simple(-ish) publishing platform that:

  • had the UI of a more traditional CMS
  • generated a static site
  • used a filesystem and Git for storage rather than a database

From this idea my PoC was born. I called it GIN (Git-INtegrated CMS).

It was built using NodeJS and only ran on desktop, but it worked perfectly for me. The only problem was, I couldn't access it on the move unless I had my laptop with me. Since I'd proved the concept worked (at least for my purposes), I decided, after using it for about a year and a half, that it was time to rebuild it as a cross-platform application.

There were various hurdles to overcome, including but not limited to, work, other projects, personal issues, and the fact that I can be quite easily distracted at times. But, a full 2 years after starting the rebuild, I'm (very anxiously) sharing this early version of re:draft.

on December 6, 2021