← Carlo D’Agnolo

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.

Homepagehavn.gg ↗
The havn.gg homepage: a private space to hang out with your friends.
Role
Founder
Sector
Consumer chat
Scope
Idea, backend, web app, assistant, launch
Status
Live

01.1 / What I did

What I worked on.

The product, the engineering and the launch.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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:

Ask havnhavn.gg ↗
Ask havnin Nightowls
Tell havn what to do

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

Import historyhavn.gg ↗
Import history
nightowls-discord-export.zip48 MB
general12,480
clips3,210
lfg1,874
announcements96
HistoryEverything
Bringing it over0 / 17,660
Channels · topics · pins · replies · rolesMembers are not moved

Step 01 on the havn homepage: an export goes in, the channels and history come out.

Voice, encryptedhavn.gg ↗
Lounge k·7f2a
Squad 2 k·c91e
Raid night k·04bd

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.

Discuss a similar project Visit havn ↗