Nitro doesn't sell software you could rebuild; it sells upgrades to an account on Discord's own network: bigger uploads, emoji in every server, HD streams and profile styling, all of which only work where your friends already are. A copy has none of those people. An agent can build a small private chat server in a weekend where the limits are yours: uploads up to your disk, custom emoji for everyone, themes and profiles. That swaps Nitro's perks for a place no one else has joined yet.
Before you buildDiscord is free to use, and Nitro Basic costs $2.99 a month. Try Matrix, Fluxer or Stoat before building your own chat.
Build me a private chat server for my friend group to replace what Discord Nitro sells. Requirements: - Node.js 22 + TypeScript: Fastify with `ws` WebSockets on http://localhost:4930 and a Vite + vanilla TypeScript front end that works on desktop and installs as a PWA on a phone. - Storage: better-sqlite3 at ./data/chat.db for users, channels, messages (text up to 4,000 characters, edited flag, reply-to), reactions and attachment metadata; files in ./data/uploads/. - Members: invite links only. The owner creates a link on an admin page, the new member picks a name and password (argon2) and gets a signed-cookie session. Cap members at MAX_USERS in .env. - Channels: text channels, one-to-one messages, unread markers, and @mentions that raise browser notifications. - Uploads: files up to MAX_UPLOAD_MB (default 1024) streamed to disk with `busboy`, with image and video previews made by `sharp` and `ffmpeg`. The limit is mine, not Nitro's. - Emoji and stickers: any member uploads custom emoji (PNG, GIF or WebP, up to 256 KB) used as :name: in every channel, animated ones included. - Profiles: avatar, banner colour, status line, and a per-user theme (light, dark, five accents) stored as CSS variables. - Voice: a "Join voice" button opens a Jitsi room named after the channel at JITSI_URL. - `npm run backup` writes ./data to a dated .tar.gz in ./backups. - Self-hosted and invite-only, no telemetry. Outbound calls: none, apart from the Jitsi link the browser opens. - Out of scope: federation, bots and an API, server discovery, voice and video of your own, end-to-end encryption, moderation beyond kick and ban. - README: HTTPS with Caddy, inviting friends, and an honest note that Discord's reach isn't replaceable: your friends have to move too.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Discord Nitro.
Extend the chat server in this folder. Requirements: - Any message can start a thread: replies live in a side panel, the channel shows a reply count and the last reply time, and mentions inside a thread notify only its participants. - Members can pin up to 20 messages per channel; show them in a Pinned panel. - Store threads in ./data/chat.db with a migration and keep reactions working in threads. - Add tests for thread notifications, and update the README.
Add search to the chat server in this folder. Requirements: - Index message text with SQLite FTS5 and search by words, from:<user>, in:<channel>, has:file and before:/after: dates. - Show results with a snippet around the match, jump to the message in its channel, and only search channels the member can read. - Rebuild the index with `npm run reindex` and keep it in step with edits and deletes. - Update the README.
Add incoming webhooks to the chat server in this folder. Requirements:
- The owner creates a webhook per channel on the admin page; it gets a long random URL
token, stored hashed.
- POST JSON {"text": "...", "username": "..."} to it creates a message from a bot-style
author, with a 20 requests per minute limit per webhook.
- Show the author as "BOT" in the UI and allow revoking the webhook.
- Out of scope: a general bot API.
- Update the README.People pay to look and behave better in the place they already spend time: emoji that work in every server, bigger uploads, HD streams and a custom profile. It's a nice-to-have on top of a free app, and the free app is still where the friends are.
Estimate · A home machine costs nothing extra; a small VPS is about $5 a month, and large uploads need disk space. The build is token usage on your agent plan.
Checked 2026-10-19 against Discord Nitro's docs: 1, 2, 3, 4, 5
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Nitro Basic | $2.99 | — | Custom emoji anywhere, 50 MB uploads, custom app icons and custom stickers anywhere. |
| Nitro | $9.99 | — | Everything in Basic plus 1 GB uploads, HD streaming, custom and per-server profiles, 20+ app color themes, 2 Server Boosts and 30% off extra ones, 3 Nitro friend passes, messages up to 4,000 characters, joining up to 200 servers, monthly Orbs, and Xbox Game Pass (Starter Edition) in select regions. |
Discord itself is free; Nitro only adds perks on top of a free account.
Not really. People pay to look and behave better in the place they already spend time: emoji that work in every server, bigger uploads, HD streams and a custom profile. It's a nice-to-have on top of a free app, and the free app is still where the friends are. The prompt on this page builds the closest honest substitute.
About $9.99 a month on the Nitro plan, $119.88 a year (checked 2026-10-19).
The place your friends already are, and the servers and history you have there; Voice channels, screen sharing and streaming at Discord's scale; Apps on every platform with push notifications; Server Boosts, bots and the app ecosystem; Xbox Game Pass and the Nitro rewards that come with the subscription. If any of those matter to you, keep paying.
Yes: Fluxer (open source), Matrix with Element (open source), Stoat (open source).