Introducing Willow Chat 🎉

Willow Chat is a new umbrella organisation for my chat related projects. Over the last year or so I’ve ended up with quite a few, so collecting them under a single entity made sense.


Private products, like Slack, HipChat, and Telegram offer some great chat experiences. IRC has been lagging behind, but remains quite solid at the core requirement of letting people chat to each other, and is free and open source by default.

I strongly believe IRC can offer the same sorts of user experiences as these private products. Until recently, there doesn’t seem to have been a coherent effort to push the protocol forwards in ways that that enable these experiences. IRCv3 has made a push to provide the specs required to match such experiences, and they’ve been making quite a bit of progress.

Willow Chat represents a personal effort to own and write a “vertical” - an IRC bouncer, and a chat client, much like Quassel or IRCCloud. Doing so provides a platform with which to rapidly experiment, and implement both new server side specs offered by IRCv3, and better user experiences which use these protocols.


I’m working on these projects quite a bit in my spare time, because I enjoy doing so. This year I’d like to make Warren IRCv3 complete, and get it in a solid position for development of downstream projects. This progress is tracked on the IRCv3 libraries page.

I’ll also be starting two new projects. Hopper will be the bouncer, likely using Kotlin and Spark. Squeak will be a native macOS or iOS client, written in Swift.


I really enjoy writing this sort of software and it fulfils some personal needs. I’m aiming high, and even if I don’t quite make it, I’ll have learnt a lot along the way. Warren (the Kotlin/JVM IRC library bit) is already relatively successful in thousands of stable Thump bridges for many thousands of Minecraft players.

The high level goals are a usable bouncer and client, either on macOS or iOS, by the end of the year.

Enjoy reading this post? Support a new animal adoption platform I'm building