Skip to content

The state of Indiekit

This project will be a marathon, not a sprint.

Those were my words when I first mentioned building a Micropub server in February 2019. 5 years later, these words have never been truer.

That Micropub server became Indiekit, a Node.js application that aims to provide all the parts needed to publish content to a staticlly-generated website and then share it on social media.

It’s been a while since I formally announced the project in December 2022, so I thought I’d provide a progress report covering what’s been added, what’s still missing and my longer term ambitions.

New features

Aside from fixing a good number of bugs, I’ve added the following features:

There’s been a good deal of polish to the content management interface, plus improvements to the onboarding experience and overall robustness of the application. I also updated the 600+ tests to use Node’s native test runner instead of AVA.

The project is reasonably well documented, both within the code and outside of it. Whenever I return to the project, I’m able to pick up from where I left off and, importantly, not feel like I need to rip everything apart and start again.

I’m really happy and proud with what I’ve built so far.

Screenshot of the Markdown editing interface in full screen mode.

The perpetual beta

If there’s one thing I’ve learnt during the development of this project, it’s that I’m bad at version numbering. My hesitancy to call anything ‘done’ means that, over 67 individual releases, I’ve published the following versions:

Maybe this is fine, but it’s clear that I like the comfort of alpha and beta releases which allow me to make breaking changes.

When will v1.0.0 be released? Well, there are a few gnarly issues that are preventing me from calling it done.

The future

In the future I’d like to support Webmention, Microsub and ActivityPub protocols, as well as support multi-tenancy (the ability to have one server support several different websites).

I’ve also got one eye on (and several pounds invested in) Web Awesome; being able to lean on a well-designed, well-documented component system would make it easier to create plug-ins that provide pages to the application interface.

Lastly, I’m questioning my choice of MongoDB; an SQL-like database would mean Indiekit could support more platforms and perhaps even use a single SQLite file.

But as you can see, there are a few knotty problems that I need to untangle before I take on any more complexity.

Thank you

Finally, a big thank you to everyone who has supported this project so far. The GitHub repository currently shows Indiekit as having:

Meanwhile on Localazy, 26 people have contributed to 11 available translations (with a further 10 translations pending).

Nothing makes me happier than when somebody files a bug or makes a pull request, each small contribution supporting me as I continue along this marathon IndieWeb journey.

Categories
Also on
Mastodon