Roadmap · STYGION Backend
Everything we are building, in the open
No dates, no promises we cannot keep. Just what we are thinking about, what we decided to do, what somebody is working on today, and what is already out.
Last thing out A project can be renamed, cards and all 3 weeks ago
Exploring
2Ideas we keep turning over. None of it is a promise.
Planned
17Decided. Waiting for its turn.
The Discord server is a capability, not a folder of scripts
Channels, roles, permissions and pinned copy are edited today by running Node scripts from a checkout with the bot token in the environment. Anything a person or an agent should be able to do belongs on the MCP surface like everything else — read the guild, apply the spec, report what drifted. A capability that only exists as a script is a capability only whoever has the checkout has.
Translation as a capability
One place that translates between Czech and English, for both uses. A translation is not stored anywhere unless somebody saves it themselves.
A vote on Discord is the same vote as on the site
A reaction on Discord counts as "I want this too" on the site, and the other way round. One person, one vote, wherever they cast it — not two numbers that drift apart.
People and moderation as a capability
Accounts, notes and a block that holds across services — always with a reason, a message to the person and a way to appeal.
Catalog, money and operations as capabilities
What we make and run, what a month costs and whether everything is answering — reachable the same way by a person and by an agent.
Manage Discord from the admin workspace
The shape of the server — channels, roles, permissions — becomes editable from the admin area instead of a script on somebody's machine.
Discord settings saved to your account
With Discord linked to STYGION ID, choices made on Discord are saved to the account. It can be switched off from either side — the Discord panel or account settings on the web.
One language setting across services
The language you pick anywhere applies everywhere — website, launcher and Discord.
Nightly off-server data backup
Data backs itself up off the server every night, so it survives a hardware failure.
Feedback map API
Collects input from the web, the launcher and Discord into one place.
Wiring feedback to roadmap and tickets
Turn an item into a roadmap card or a ticket without retyping it.
MCP: full Discord guild management
Agent can manage the Discord guild end-to-end via MCP: read full structure (channels, categories, roles, permissions, guild settings, emoji, webhooks, automod, forum threads…) and mutate it. The same capabilities must be available in the admin workspace (UI parity with MCP — not agent-only). Goal: run and build the whole Discord from agent and web UI. Safety: admin-only, audit, dry-run, confirm destructive ops.
Global ban/unban across services
One action in ID → propagates to our servers and services. Consistent ban state.
Push notifications for internal tasks
On assign/change: the person or whole section. Web first; mobile admin later.
Passkeys / WebAuthn
Sign-in and confirm without a password — next to existing SSO providers.
Steam link (optional)
Another linked account next to Discord/GitHub/Google/Microsoft.
Dev/ops answers for the agent (team)
The agent pulls curated development and operations facts from the team docs over MCP. Lands once the team docs have content.
Building
0Somebody has their hands on it right now.
Nothing here
Done
29Built and out. Newest at the top.
A project can be renamed, cards and all
A product gets renamed and its key is the last thing to follow — it is visible in the board's own address, and the only way across was to make a second project, move every card by hand and delete the first. Nobody does that twice, so the key stays wrong. Now it is one step: the cards and the documents pointing at the project go with it. Renaming onto a key that already exists is refused — merging two projects is a decision, not the side effect of a typo.
An article announces itself, exactly once
Publishing an article means the site and Discord at once, in both languages. Fixing the text rewrites the post instead of sending a second one, and unpublishing takes it back down.
An agent signs in instead of being handed a key
Connecting a tool to STYGION is a STYGION ID sign-in, the same one the site uses. What it may then do follows from who you are, and changes the moment that does — a role taken away takes effect on the next request, with nothing to revoke. It shows up beside your browser and your launcher in your devices, and signing it out there ends it. Nothing to copy from one place to another.
The whole Discord, run from the backend
Everything a person can do on our Discord — rooms, roles, who can see what, the pinned panels and their buttons, and putting the server back in line with how it is meant to look — the team's tooling can do too. The hand-run scripts that each carried their own copy of the server's text are gone.
GDPR export and account delete
Download everything we hold about you in one press, and delete the account and what belongs to it in another. No writing to us, no waiting.
MCP tools for internal tasks
Agent reads and updates internal tasks like a human in the workspace — scoped token, audit.
Internal tasks as a capability
A taskboard for the team: create, assign to a person or a section, start, freeze, finish, drop. It works from the studio and from an agent, because it is one capability rather than two.
Backend rewrite: one core, three interfaces
Done — the new backend has been live on stygion.eu since 22 August 2026 and the old one is gone. Built around one rule: whatever a person can do, an agent can do. Every capability is described once and the interfaces are generated from it, so the site, the apps and an assistant always see the same thing.
A listing that would go out half-filled does not go out
What each portal is told about a file — which Java it wants, whether it is a server mod, what has to sit beside it — is written down per product and checked before anything is sent. The press shows exactly what would go, file by file, because an upload cannot be taken back afterwards.
A version reaches CurseForge and Modrinth from one press
Every build we tag is listed for the team to place on a channel, and a mod version goes out to the portals people install from — every jar of the build, with what it was made for written on it. Where it went and how the review is going stays visible beside the version.
A resolved thread reopens for the person who wrote it
A finished thread closes to everybody else, but its author can say it is still broken — which brings it back to us. Voting stays open.
The numbers we already have, in one place
Downloads, ideas, questions, sign-ins — what happens on our own machines can be counted without tracking anybody.
A work queue assembled across features
Every part of the system reports what is waiting for a person, and one place puts it together. A new feature brings its own rows with it.
The audit trail can be read, not only written
A record of every change is already written. Now it can be browsed, filtered, and for some things undone.
Team sections come from the Discord roles
What somebody opens in the studio follows from the role they actually hold. No second list to drift out of step.
An agent is always somebody’s
Access for an assistant is issued to team members only and tied to their account, so it is always clear who an agent acted for.
In-app bug reports → tickets
Ticket = DB + private Discord channel (author + team). Create from app/web; web ↔ Discord mirror. Live.
Microsoft account — common tenant + Graph profile
Link Microsoft accounts for consumer and work accounts; profile via Microsoft Graph (User.Read).
Session and API hardening
Tougher session handling (including burn on misuse), reject empty service tokens, request body size limits. CI dependency vulnerability checks.
Private Discord ticket channels
New ticket = private channel: author and team can see it, everyone else cannot. Web ↔ Discord message mirror.
Discord avatars for every user (not only self)
Friend and user lists get real Discord profile pictures (including bot fallback and a database backfill).
Social: user search + Discord avatar CDN
GET /social/users/search + Discord avatar CDN. SyncDiscordAvatar on /me and exchange (OAuth → real CDN URL). Live 2026-07.
Launcher social API (search, avatars)
API for the launcher: user search and Discord avatars as CDN links (not raw image bytes).
Documentation you can search, not only read
Full-text with snippets, reading by section, edits to a single heading, and a revision history you can roll back. (The knowledge graph that used to stand beside this did not survive the rewrite — search and the roadmap links on a page do the same job without a second database.)
Bot stays online while the backend runs
The Discord bot shows as online the whole time the backend is running.
MCP expansion for the agent
One efficient interface for the agent over docs and the roadmap — read and write with minimal overhead. Responses are lean (single language, only what is needed, peek the structure instead of the whole page).
Discord notifications
Discord alerts via our backend bot: a finished task, an edited page, a new version in your channel.
Opt-in notifications
Follow a task, page or release channel and get told when something changes.
DB-backed docs
Docs are written and edited at runtime and versioned — like the roadmap.