Overview

Aurelia is usually described as a Discord bot, but the product is broader: a Python service with modular command architecture, a web dashboard, OAuth-based configuration, public documentation, live statistics and a multi-provider AI layer.

I created it and maintain it as an independent product. Its modular bot and dashboard cover moderation, onboarding, engagement and configuration.

01 / Aurelia’s public product surface and live system counters.

Product breadth

Moderation. Warnings are tracked as numbered cases with escalation thresholds, AI-assisted automod and an audit trail.

Onboarding and engagement. Server owners can configure welcome cards, leveling and role rewards, daily streaks, questions, giveaways, starboard behavior and achievements.

Privacy controls. Members can export or delete their stored data. Privacy choices are enforced before provider calls where AI features are involved.

Dashboard. Discord OAuth identifies the user and the servers they manage. Configuration is written through an authenticated API, while live actions use the same permission and audit paths as bot commands.

02 / A dashboard module used to configure the running bot without editing files.

System design

Aurelia system shapelive model
01Discordevents · commands · members
02Bot servicemodular cogs
03AI routerprofiles · failover · breakers
04Data layerSupabase Postgres · JSON fallback
05DashboardNext.js · OAuth · live config
06Public surfacesdocs · stats · changelog
The bot, dashboard and public surfaces share one data model; AI providers sit behind a routed boundary.

The bot is built with Python and discord.py. Cogs own distinct concerns, which keeps new features from becoming one connected command file. The dashboard is a Next.js application backed by a server-side proxy so credentials stay outside client-side JavaScript.

Configuration changes move through authenticated, CSRF-protected and rate-limited API paths. Mutations are audit logged. Public stats and documentation are separate from the authenticated server-management surface.

03 / Public documentation for setup, modules, commands and API behavior.

AI routing

Aurelia uses four provider paths behind one router: Gemini, Mistral, OpenRouter for GLM, and Groq. The router chooses a provider chain by task profile, applies circuit breakers and falls through when a provider is unavailable or returns unusable content.

No provider owns the feature logic. Adapters translate requests, the router owns fallback, and the shared sanitization layer enforces Discord length and output rules. Sensitive moderation paths use their own routing profile, and deployments can boot cleanly when only part of the provider set is configured.

Result

Aurelia brings these bot and dashboard features together as an ongoing community-management project. Server owners can configure the system visually, members have documented privacy controls, and public product surfaces show what is running.

04 / The public statistics surface sourced from the running system.

Lesson

Modularity matters most when one person maintains the whole product. Every boundary should make the next feature easier to add and safer to fail.