01 / Case study · Own product
A private, agentic community app.
havn is a chat app for text, voice and video. I started it after Discord announced it would ask users for ID, ran a waitlist first to see if people wanted it, and then built the backend, the web app and the assistant inside it. It is live, free and open to everyone.
- 5,000+Online at onceWhat the backend handles
- 3Apps to import fromDiscord, Slack and Telegram
- 15LanguagesIn the browser and on Windows
- E2EVoiceCalls and voice channels end-to-end encrypted
01.1 / What I did
What I worked on.
The product, the engineering and the launch.
- 01
The idea
Discord said it would start asking users for ID, and a lot of them did not want to. I decided to build a private place to hang out, rather than a straight copy of Discord.
- 02
Checking demand
I put up a waitlist before building much, to see whether people wanted it. Enough of them did, so I built it, and the launch went to the people on the list first.
- 03
The backend
Servers, storage, voice and security. It handles more than 5,000 people online at once, voice is end-to-end encrypted, and it all runs in the EU.
- 04
The web app
Text, voice, video, screen share, friends and DMs, plus the import and the Discord link. It idles at about 220 MB, so it runs fine next to a game.
- 05
The assistant
Ask havn sets up and runs a server from a chat. It's the same kind of work I do for clients. This is the demo from the havn site:
The demo from the havn homepage. A made-up server; the requests are real things it does.
01.2 / The problem
Nobody leaves a chat app for features.
People stay where their friends, their server and their history are.
Plenty of people did not want to hand over an ID, but that alone does not move a 400-person server. Text, voice, roles and invites are what every chat app has. The main thing keeping people on Discord is how much work it is to move, so most of the effort went there.
It also shaped how havn is described. "Discord alternative" only works while the ID story is in the news, so the site describes havn as a private place to hang out with friends: no ads, no ID, EU data, and you can bring your history.
01.3 / The system
Easy to move to, and set up by chatting.
- 01
Bring the whole history over
Drop in a Discord, Slack or Telegram export and havn rebuilds the channels, categories, roles, pins, replies and every message, with a preview first. Import again later and only the new messages come in, nothing doubled.
- 02
Keep both sides talking while people move
Link a havn channel to a Discord channel and messages, edits, deletes and files show up in both. Nobody has to be first. The community moves at its own pace, and nobody misses a conversation on the way.
- 03
Run the server by talking to it
Owners tell Ask havn what they want, like "a #rules channel only mods can post in" or "pin everything in #announcements", and it does it with their own rights. It sets up channels, roles, moderation and custom rules from a sentence. Every change has an undo and a line in the audit log, and it asks before anything that cannot be undone. It never reads anyone's messages. Built-in modules replace the usual bots, so no outside bot needs admin rights.
- 04
Build it to take the launch
The backend was built for more than 5,000 people online at once from day one, with voice end-to-end encrypted and everything hosted in the EU. The app stays light, about 220 MB idle, so it does not get in the way of a game.
Step 01 on the havn homepage: an export goes in, the channels and history come out.
From the privacy part of havn.gg: every voice channel has its own key, and what goes over the wire is noise.
01.4 / Outcome
Where it is now.
It is live and free. The waitlist got it first, and the feedback so far has been good.
Moving a community over is an import and a link, and setting up a server can be done by chatting instead of going through settings. People are using Ask havn to set up and run their servers.
- Moving over is one import and one link
- Servers set up by chatting, with undo on everything
- No ads, no ID, voice end to end, EU data