Last week I opened a project I had built almost a year ago. Not because of a bug. A friend mentioned wanting a self-hosted Slack alternative, and I remembered I had made one. So I opened the folder in VS Code, looked at the file tree, picked the file that seemed like a sensible starting point, and opened it.

Five minutes later, I closed it.

I had written this code myself. And I could not tell what it did.

What I had built

Over the spring and summer of 2025, I built a Slack-style team communication tool. Channels, DMs, mentions, notifications, emoji reactions, file attachments, threads, unread badges. Most of what you touch in Slack on a normal day, I had implemented. It ran as a self-hosted theme on my own server.