capsul devlog

we're rewriting capsul in golang

today, forest and i discussed all of the future paths that capsul could take. we decided that before we launch any new features, we need to focus on our most burdensome source of technical debt - the language we chose.

when we first wrote capsul, we chose python + flask because we figured that was the most accessible language for our community in the case that random people wanted to contribute patches.

this didn't quite work out, and it wound up making capsul harder to work on for both forest & myself. choosing python especially complicated the concurrency story - golang is simply very good at concurrency, and python is not.

BUT, we also want capsul to be as easy to self-host as possible. so instead of doing the classic thing and plowing forward with feature work and "cleaning it up later", we're going to pause for a bit to make sure we get this rewrite right.

forest and i are both very experienced golang devs, and we think that we can make capsul much easier to run and maintain by moving from python to go. we aim to have a feature-complete parallel implementation in the coming weeks/months.

in fact, the rewrite is already underway - we're doing everything in a private repo for now, but stay tuned - we'll release something public just as soon as we can :)

love, jes & forest