---
title: "Slack + IRC = Slirc.org"
description: "A slim Slack built on top of IRC: threads as private channels, oEmbed and Giphy embeds, a PWA client for your home screen, and DMing your coding agent from your phone."
pubDate: "2026-09-29"
---

In the beginning of September I met 3 friends at [Lokaalhost:22](https://lokaalhost22.nl). All of us use agentic workflows heavily, so conversation ran for  hours. Smart people exchanging ideas, challenging each other, asking questions, sharing tools. One of those meetings that leaves you more energized than you arrived.

Then I thought: we should make this a recurrent thing! Let me create a group in Signal with them... one of them is not on Signal. Ok... WhatsApp? I don't like it nor trust Meta that much, and it's crammed with family groups and one of the guys just ignores it most of the time... Slack? Nah. I like some of the features, like reactions and giphy, but it's bloated, 90 days limit for free, eventually you'd have to pay or leave. Also, the Electron app is huge.

Then I thought: we all use the Terminal, and like simple stuff. What about **IRC**?

My earliest memories of communication on the internet are [BBS](https://en.wikipedia.org/wiki/Bulletin_board_system) (Bulletin Board System) and [IRC](https://en.wikipedia.org/wiki/IRC) (Internet Relay Chat). It's been there for more than 30 years, works, I'm pretty sure servers are super light, because they had to run on very limited hardware.

I also considered [Campfire](https://once.com) which is now free. A week before I talked with my mate Lewis and installed it for almost the same reason on my Homelab server. I like the pragmatic approach like PWA app, simplicity, but found it a bit resource intensive for what it is. I like small, minimal, simple stuff.

So, basically, what I wanted is **a slimmer version of Slack**, but running as an **IRC server**. That way I could connect via [Halloy](https://halloy.chat), [Senpai](https://sr.ht/~taiite/senpai/) or even [mIRC](https://mirc.com), but with nice things such as upload images, videos, embeds, [Giphy](https://giphy.com) support, threads... the things I use at work that make sense and would be so cool to have to DM friends.

Also, the backend would be just IRC, so can connect via terminal, have progressive disclosure (for instance, image URLs would render as text) and, most importantly: I could build a PWA (Progressive Web App) client and have it on my home screen. **I want it to run on phones as smoothly as the best messaging app ever**.

So, rolled sleeves, thought about which models I'd use for that, let's go. Thanks to [Astra](https://openai.com/index/gpt-6-astra/) convoluted rollout, I've got 3 weekly resets on my OpenAI usage, so why not?

## What am I building?

I've talked [about this before](https://boiling.mauriciowolff.com/#/23): the most important thing is to have a `pitch.md`. What I'm making, why I'm making it, Definition of Done. Then it comes `experience.md` and finally `architecture.md`. That's my simple framework, know what you want, how it feels and how it should be built.

## Architecture: simplicity

If you know me, you know [I like simple stuff](https://shibumistack.dev). It's what endures, doesn't hog resources, resists the test of time.

I don't mean simplistic or basic stuff, but if a system is simple, the chances of it working are higher, maintenance is simpler, chances of success bigger.

So I went the usual: Bun, Hono, AlpineJS, SQLite, Nanostores. What a joy to work with. For Agents, since I have some extended limits, Terra and Sol, and Deepseek-v4 (Flash and sometimes Pro). Most of the execution will be delegated to DSv4.

I started by searching for a small IRC server. Found [Ergo](https://ergo.chat/), made in Go, uses SQLite or PG, seems good enough. Had to compile from source because of the machine I'll run it, but that's ok. The image is tiny, idle consumes 17MB. Under load, 40MB.

For PWA, I have some experience now with [Swipetris](https://swipetris.com), and really believe we don't use Progressive Web Apps as much as we should.

Open the webpage in Safari > Share > Add to home screen. And now it's just another app, but without hundreds of MBs to install, no App Store, nothing.

I remembered Steve Jobs said in 2007 [WebApps would be the future of iPhone](https://www.apple.com/newsroom/2007/06/11iPhone-to-Support-Third-Party-Web-2-0-Applications/), before changing his opinion to make [more money with Apps subscriptions](https://www.apple.com/newsroom/2026/06/app-store-ecosystem-reaches-1-point-4-trillion-usd-as-developers-thrive-globally/) than most companies ever (around €30-40B a year).

## And here it begins... slirc.org

<figure class="center">
  <img src="/slirc-logo.png" alt="Slirc logo" />
</figure>

I also thought: let me get a `.org` domain, so I can release an Open Source version if this gets any good. People would be able to deploy in their own servers, create their groups, keep their data. Why not? A very similar experience to Slack, but built on top of IRC. This sounds like fun.

Worst case: same as [MCPVault](https://mcpvault.org), someone asks me to rename it. Fine by me...

## How to join

There are few ways. You either receive an invite for a private group chat and jump right into it, or join the `#open-chat` channel. `@help` bot will chat with you to explain a bit how it works, and there's a mini model behind it to actually be helpful.

You need to type your email and click a link to validate and lock your `nick`. Better than handling passwords.

The channels are either secret or open, and you don't see other people connected to secret channels by default. The idea is separate groups of friends, each one with their own channel. If they wanna jump into an open channel, well... it's a free world.

## Direct messages and threads

You can only see users on open channels or the ones you're invited to. DMs work as expected. All of this is present in IRC, like `+i` permissions, so nothing new there. For the help channel (open to all) `+uM` keeps privacy and anonymity.

In the PWA there's a `/help` command as well, so you know what can be done even if you've never been to IRC.

### Threads in IRC?

**This I think it's a clever idea**: how can you have threads to isolate topics, compatible with IRC clients?

Threads are just private channels, with same member list as the originated one. They're created on the fly on the app, when user types `/t` or `/thread` (or `/threads`). And because they're just IRC channels, they're accessible via Terminal clients as well. An additional benefit is that in IRC the other user needs to be online to DM; on Slirc, the message sits in the DM channel until they come back.

## Formatting and Multimedia

Another thing Slack does well is simple formatting and multimedia. At least for now, I'm just parsing basic markdown: **bold**, *italic*, `code`. But nerd that I am, code fences with ``` and syntax highlighting using nue.js [glow](https://nuejs.org/blog/introducing-glow/). I'll probably add `CTRL` or `Command` + `B` for bold for instance, but no toolbars for now.

And another thing is embeds. **Giphy** works and can be minimized, **YouTube** works, as well as anything **oEmbed** supports. And there's also support for `og` tags. I'll find some users to test and see what else we need. Features are always easy to add, hard to remove.

## Editing and deleting

I'm still trying to find the right balance of IRC and modern messaging apps. But I want to keep a nostalgic thing as much alive as possible, so we have timestamps on every message... but you can navigate the messages with your keyboard and edit pressing `e` or `d` to delete the message, or `q` for quote and `t` for thread. Editing was a bit tricky on IRC clients, and won't remove the old message, but will add a new one with (edited). Compromises.

## What it took to build it?

I went through 1 week of OpenAI credits in 1 day, and I'm on 50% of another week (thanks Astra resets). In Deepseek credits, including Flash and Pro, less than €5 in 2 days. I'll polish the experience and publish from a private repo, then check how can I open source it in the coming days, using cheaper models for the needed changes.

This is being super useful from an AI credits standpoint, I'm using a Go/Zen subscription from Opencode.ai for most models, and for OpenAI a ~~Plus~~ Pro subscription. Terra's usage on Opencode consumed a lot of my Zen credits for little outcome, so a OpenAI sub is better at this point. I still have a couple days of Claude sub, but I'm planning to use only when/if needed because it's too expensive for my needs.

So, in summary, 2 days, few bucks, 1-2 resets in OpenAI limits to get to 70% publish ready.

## Wanna talk to your Agents?

One thing that I started to consider... Coding Agents can super easily interact with IRC. It's a very old, battle-tested, well-documented protocol. So why not be able to exchange DMs with your agent from your phone?

I'm pairing as easily as possible. run `bunx slirc-agent` on your computer, confirm on your phone, you're good to go. Apple like pairing experience, now you can message your agent with that idea you had while taking a walk in the park.

And if you invite an agent to a channel, other people will see its responses to the questions you ask there. Only you can ask it to do stuff, because its session is on your computer, but you can mention other people's ideas to the agent. The channel becomes context.

## Next steps

The first version is up. [https://slirc.org](https://slirc.org) and I'm sharing with some friends who'll help me see what I missed and if this makes sense.

Of course I already found several bugs and oversights, and at the same time I'm writing this, I'm already fixing. This reinforces what I wrote in those slides, [Feedback is gold](https://boiling.mauriciowolff.com/#/38). That's why I wanted to take 2 days to build and start testing with real people.

> Spoiler alert: Feedback came in, and I realised (again) that a good app/service doesn't get built in a day. I'm working on it and will post updates about progress...

## Da future

**Will this become a real product?** Yes. I'll publish its source, and anyone who'd like to have a Slack-like experience built on top of IRC, can either install it on a homelab server or rent a cheap VPS and run it. It's small and performant enough to run even on a Raspberry Pi.

But what if people don't want to install and maintain it? For that I'm building [Slirc.app](https://slirc.app). A managed/hosted version with a super convenient price of €29 for up to 250 users (instead of per seat).

I really believe in the **selling convenience** model: install it in your server and be happy, contribute back if possible, or pay a small fee and just use it, no installation, no maintenance.

It's like going to a cafe: you can make coffee at home or you can go to a cafe, you're paying a fair fee for the convenience, ambience, service and supporting the local business.

That's what I love about building with AI right now: a clear idea, a bit of uncertainty, some principles, and hopefully something useful at the end.
