Annie
A community’s tools.
One connected system.
A Discord bot and dashboard that bring moderation, music, economy, and community tools together—then keep them running in production.
- 72k+ users
- 500+ servers
- 417 commands
- 128 API routes

The challenge
A server shouldn’t need six different bots to feel like one community. Annie brings those jobs together, with an interface that lets moderators configure their server without memorising commands.
Connecting both sides
The bot runs through a ShardingManager. Its Next.js dashboard handles Discord OAuth2, per-guild settings, premium checkout callbacks, and rendered ticket transcripts. Both sides share the same database. A separate status page tracks services, latency, and incidents.
The interesting problem
The shards leaked memory on a two-core container while the JavaScript heap stayed flat. The cause was native allocation: image buffers were coming from glibc’s arena heap rather than mmap. Pinning MALLOC_MMAP_THRESHOLD_ and capping MALLOC_ARENA_MAX before spawning shards fixed the issue.
What I’d do differently
Observability first, features second. I would build the status page and start graphing RSS in month one. Production problems are much harder to understand when the history lives only in memory and user complaints.
Care about what people see.
Care just as much about what they don’t.