A native Discord client

Singularity

Written from scratch in C++. Not a patch on top of Discord.
Not Electron. Not a browser.

Windows x64 · about 54 MB · installs for you only, no administrator prompt

C++20 Qt 6.10 Encrypted voice Screen share and camera Seven plugins, compiled in
54 MBthe whole installer
0browsers bundled
0plugin files on disk
7plugins compiled in

In the client today

A full client, not a skin

Vencord and BetterDiscord sit on top of Discord. Singularity is the client. Voice, video, messages, friends and plugins are the program itself.

Easy install

One setup program. No administrator prompt. It downloads the next version and installs itself.

Real voice

Calls you can join, encrypted end to end, with mute, deafen, and your own camera.

Screen share

Their screens and yours, decoded into the call instead of a spinning loader.

Plugins included

Seven, compiled into the program. Nothing sitting in a folder for something else to replace.

One colour

Pick a seed and the whole client retints while it is running. Or put your own picture behind it.

Private

No analytics. No game detection. Your password is never written down.

Talking

Voice channels you can actually join, with sound both ways, encrypted end to end the way Discord now requires. A channel with a user limit shows how full it is, and a full one will not let you in.

Mute, deafen, device and volume control, a speaking threshold, and a microphone test with a live level bar. Right-click someone in a call to turn just them up or down. That volume is Discord's, so the official app matches.

Sharing

Other people's cameras and shared screens arrive and are decoded into a grid above the conversation.

You can share your own screen, and turn your own camera on. Encoding uses whatever hardware the machine has, and Cisco's software encoder when it has none.

Reading

History, live messages, and scrolling up through older ones. You can reply, edit, delete, attach a file, and react. A welcome line shows the person's name as a clickable pill, not their number, and a channel link shows the channel name.

Images, GIFs, custom emoji from every server you are in, stickers and link previews. The picker has Emoji, Stickers and GIFs. Click any picture for a viewer with scroll to zoom and drag to pan.

Everyone

The member list follows the channel you have open. A voice channel lists who is in that call, and the list updates as people join and leave. Unread channels get a dot, mentions get a count.

Set your own status from your name at the bottom: online, idle, do not disturb, invisible. Discord is told, and it is remembered between runs.

Everything else

Email and password sign-in with second factor. Server folders you can drag and rename. A Friends page with Online, All, Pending and Blocked, and an Active Now column. A voice card shows everyone in that call and joins it when clicked. A game card shows the artwork Discord sends with the activity. Opening Friends while you are in a call leaves the call connected and shows the list, not the stage.

Full profile windows with banners, badges, coloured role pills, notes, and mutual friends and servers.

One colour decides everything

The look

Pick a seed colour and the whole application is derived from it while it is running — surfaces, accents, every stylesheet token, and the accretion disk of the hole itself. No restart, no theme files. Try it: these retint this page and the background behind it, using the same rule the program uses.

Or put your own picture behind everything instead — an animated GIF, a WebP, a still image. There is a dim slider, and it is not decoration: every panel in the client is glass, so a bright picture makes the conversation hard to read.

Depth from layers
The rail, the sidebar and the conversation each sit a real step lighter than the one behind, so they read as separate planes without a single border drawn.
Colour is information
The status dots are the one thing the seed never touches. Green, yellow and red have to keep meaning online, away and busy whatever else changes.
Even the title bar
Drag it to a screen edge and it snaps to that half, that corner, or the whole screen. Drag it back out and it returns to the size it had. The menu along the top is still ours; the frame under it belongs to Windows, which is what remembers that size.
A hue-less seed
Black and grey have no hue, and scaling one would leave the disk unlit — so those take a silver branch instead. That is the default, and it is what you are looking at.

Privacy friendly

What stays on your machine

The tracking the official client sends was never written here. Your sign-in stays between you and Discord.

Your password
Sent to discord.com and nowhere else. Never written to disk. Never logged.
Your session
Sealed with your Windows account key. The log records its length, never its value.
Analytics events
The official client posts to an endpoint called /science as you click around. Singularity never calls it.
Read receipts
Nothing tells Discord which messages you have looked at, or when.
A real fingerprint
The client details sent on sign-in are fixed numbers written into the source, not your actual Windows version, locale or hardware — and they are identical for everyone running Singularity.
Session correlation
The fields the official client fills with identifiers linking your sessions together are sent empty.
Game detection
Nothing looks at what programs you have open.
Third party images
Pictures come only from Discord's own hosts.

What the Anonymous plugin genuinely does is the part Singularity does send and can stop sending. It strips tracking codes out of links before they leave. Because it rewrites what you say, it tests itself against six known cases every time it loads — and if any comes out wrong it refuses to touch messages for the rest of the session and says so. A tracking code getting through is a small harm. A broken link the sender cannot see is a worse one.

Nothing on disk to swap out

Seven plugins, inside the binary

There is no plugin folder, so there is no file for anything else to replace. Each one has its own settings page.

Full timestamps

Exact date and time on every message.

On
Message logger

Deleted messages stay visible, and edits get tagged.

On
Quick text

:shrug: and friends expand as you send.

On
Anonymous

Strips tracking codes out of links you send. Can also hide your typing and your status.

On
Silent typing

Never sends the typing signal.

Off
Presence hints

Marks people active when they type or join voice. Off by default, because it works against a choice the other person made.

Off
Nitro watch

Spots gift links the instant they are posted, anywhere, and offers a Claim button. It does not claim by itself.

Off

Why Nitro watch does not claim by itself

Discord does not catch automated accounts by measuring how fast you click. It catches them on the shape of the account: a redeem arriving from a session that never opened the channel, never scrolled, never moved a pointer, and that does it again next week at four in the morning. A random delay hides none of that, because none of it is about timing.

Dead codes are also posted deliberately, to see who bites. A person glances at a suspicious link and moves on. Anything redeeming on its own takes the bait every time, and marks itself doing it. So the part worth automating is the part that is slow for a person: noticing. The press stays yours, which is what keeps the account ordinary.

Still on the list

What is not built

The rest of the client is in. These are the pieces that are not, yet.

  • Sharing a single window rather than a whole screen, and the sound coming out of it.
  • Drag and drop onto the message box. Choosing a file with Attach is built.
  • Search.
  • Threads and forum channels.
  • Avatar decorations, which are fetched but not drawn.

Windows only, for now.

One setup program

Get it

It installs for you only and never asks for administrator. There is no service, no driver and nothing shared, so there is nothing to elevate for — and a small program asking for rights it does not need is how it starts looking untrustworthy.

There is no wizard either. Every page one would have shown asks something already decided by running it — where to put it, whether to continue, whether to start it afterwards. What you get is one dark window with the hole turning in it, and then the program.

Updating
The program looks for a newer version a few seconds after it starts, and quietly: an up to date copy says nothing at all. Agreeing does the whole thing — downloads, installs itself and starts again. No second dialog, no installer to click through, because by then there is nothing left to decide.
Uninstalling
Asks whether to remove your saved sign-in and settings, and defaults to keeping them. Those live in your profile rather than the install folder, so removing the program does not silently take the account with it.
Where the source is
Private. The installers are published in a separate public repository, because an updater pointed at a private one would need a token shipped inside the program — and anything shipped inside a program can be taken back out of it.