Void Presence Web – The website for Void Presence: browse community configs, install plugins, manage your profile, and access the public API.
Void Presence Web is a Next.js application that serves as the hub for the Void Presence ecosystem. It lets users browse and share Discord Rich Presence configs and custom statuses, discover and install community plugins, view release history, and authenticate via Discord or Steam.
| Route | Description |
|---|---|
/ |
Landing page |
/presence |
Browse community Rich Presence configs |
/presence/[id] |
Config details — preview, download JSON, copy to clipboard |
/statuses |
Browse community custom Discord statuses |
/statuses/[id] |
Status details — preview, download, copy |
/plugins |
Community plugins — browse and install with one click |
/plugins/docs |
Full plugin development documentation |
/profile |
Your profile — uploaded configs, Author ID |
/profile/[id] |
Public profile page |
/download |
Download Void Presence app, changelog |
/schedule |
Release history and download stats |
/docs |
General documentation |
/api |
Public API docs (v0, v1) |
- Config browser — search, filter, preview Discord presence cards, download or copy JSON
- Status browser — browse and preview custom Discord status cycles
- Plugin registry — one-click install via
voidpresence://install-plugin?url=…deep link - Plugin docs — full plugin development guide at
/plugins/docs - Profile page — view your uploaded configs, get your Author ID for cloud sync
- Auth — Discord + Steam OAuth via
next-auth - Public REST API — v0 and v1 endpoints for configs, authors, analytics
- Release schedule — download stats charts per release
- Auto manifest —
npm run build:manifestgeneratesplugins/plugins-manifest.jsonfrom source
- Next.js 16 (App Router, SSR + static)
- TypeScript
- React 19
- Firebase — config and profile storage
- Upstash Redis — auth session storage
- next-auth v5 — Discord + Steam OAuth
- SCSS — custom styling, no UI framework
- Recharts — download stats charts
- Vercel — hosting and analytics
npm install
npm run devBuild with manifest generation:
npm run build
# runs scripts/build-manifest.js first, then next buildRegenerate plugins/plugins-manifest.json only:
npm run build:manifestEnvironment variables go in .env.local — see .env.local for required keys (Firebase, Redis, NextAuth, Steam).
- Add your
.jsfile or folder toplugins/ - Include
author,description,tags,preview.slidesin your export (or inmanifest.jsonfor folder plugins) - Open a PR to this repository
- After merge,
npm run build:manifestregenerates the manifest — your plugin appears on/pluginswith a one-click install button
What is stored:
- Config data — button pairs, status cycles, image cycles (
buttonPairs,cycles,imageCycles) - Metadata — title, description, upload timestamp, download counter
- Author name — your display handle
What is never stored:
- Discord tokens, passwords, or OAuth keys
- Personal messages or Discord account data
- System files or arbitrary local data
Made with ❤️ by Devollox
Void Presence – Control your Discord presence. Own your story.
