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.
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.
System design
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.
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.
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.