Myrodex.gg
Multi-tenant management platform for esports organisations, including a custom AI agent with tool access to the platform data.
- Modules
- 15+
- Architecture
- Multi-Tenant
- AI agent
- Human-in-the-Loop
About the project
An esports organisation is a small company: teams and players under contract, matches and leagues with schedules, sponsors with obligations, content creators with editorial plans, equipment in warehouses, and staff with different responsibilities. Usually all of this is managed in a mix of spreadsheets, Discord messages and what individual people happen to remember.
Myrodex puts all of it into one system. The platform is multi-tenant from the ground up, every organisation sees only its own data, with a role and permission model that reaches down to individual departments. On top of that: a calendar with CalDAV support and recurring events, a helpdesk with ticketing, inventory management and a continuous activity log.
The part I spent the longest on is Myro, the platform AI assistant. Myro answers questions about your own data by querying it through a GraphQL interface rather than guessing. What matters is what it does not do: it never applies changes itself. Instead it formulates action proposals that a human has to confirm or reject.
That restraint is designed in, not fenced off afterwards. Every request runs against a budget and permission policy checked before the first model call. The agent may only reach data the requesting user is authorised for. An agent that inherits its operator permissions instead of the user permissions is a security hole with a chat window. Every answer carries citations back to the records it came from.
It runs as a Bun monorepo with two Next.js applications: the platform itself and a separate backoffice. Underneath, PostgreSQL with Drizzle ORM, WebSockets for realtime updates, Web Push for notifications and S3 for files. Playwright covers the critical flows end to end, Sentry catches errors, and OpenTelemetry together with Langfuse makes every single AI request traceable, including what it cost.