~/projects/statusmith

statusmith

Write your own Discord Rich Presence from the tray — details, images, timers, party size and buttons, with saved presets, live variables and rotation. Talks to Discord’s local RPC pipe the way a game does, so it never sees your account token. Tauri 2, cross-platform, ships a Nexium SDK.

JavaScript + Rust + Nexium + Python

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

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

← back to all projects