## What it is
statusmith is a tray app for writing your own Discord Rich Presence — the "Playing…" card with details, state, images, timers, party size and buttons — and flipping between saved presets without leaving the system tray. Windows, macOS and Linux.
## Why it exists
Rich Presence is something games get for free and people don't, because it's an API rather than a setting. Every tool that offers it either wants your account token — which is a password to your whole Discord account — or makes you write a script and keep it running. I wanted the good version: a real app, no token, no babysitting a terminal.
## How it works
It talks to the Discord client already running on your machine over its local Rich Presence pipe, exactly the way a game does. That's the important part: the handshake is with the desktop client on localhost, so statusmith never sees your account token and there's no credential to leak. If Discord isn't running, there's simply nothing to talk to.
- Applications as headlines — each Discord application you register becomes one headline ("Playing life", "Listening to lofi"), and you pick which one is active.
- Presets with details, state, large/small images, hover text, party size and up to two link buttons. Edits save as you type.
- Live variables and rotation — presence that changes on its own instead of sitting static.
- A Nexium SDK, so programs written in my own language can drive the presence directly.
## How it's built
A Tauri 2 desktop app — web front end, Rust core — with the IPC work done against Discord's pipe by hand rather than through a heavyweight SDK. The SDK layer is written in Nexium, my own language, which makes statusmith the first thing I've shipped that runs Nexium in production rather than in its own test suite. Python handles the build side, and cross-platform builds and auto-update ship with it.
GitHub reports those .nx files as Zig, because Nexium isn't in Linguist yet — the repo pins linguist-language=Zig as the closest grammar until it is.