Developer overview
Architecture, stack, and how the FluffBoost bot fits together.
This section is for developers who want to run, self-host, or contribute to FluffBoost. If you just want to use the bot in your server, the Guide is what you're after.
What FluffBoost is
FluffBoost is a sharded Discord bot (Discord.js v14) that delivers scheduled motivational quotes and rotates the bot's presence. It runs as a single process that supervises shard child processes, backed by PostgreSQL, Redis, and an Express health-check API.
The monorepo
The repository is a Bun-workspace + Turborepo monorepo:
fluffboost/
├── apps/
│ ├── discord/ # the bot (Discord.js, Drizzle, BullMQ, Express)
│ └── web/ # this site — marketing + docs (Next.js + Fumadocs)
├── turbo.json
└── package.json # workspace rootThe bot at a glance
| Layer | Technology |
|---|---|
| Runtime | Bun (runs TypeScript directly) |
| Discord library | Discord.js v14 (ShardingManager) |
| Database | PostgreSQL 16 via Drizzle ORM |
| Job queue | BullMQ on Redis 7 |
| HTTP | Express 5 (/api/health) |
| Deployment | Docker image on Dokploy |
apps/discord/src/app.ts— main process: verifies DB/Redis, starts the Express API, then spawns shards.apps/discord/src/bot.ts— each shard: Discord client, event listeners, a BullMQ queue + worker, then logs in.apps/discord/src/worker/— two recurring jobs:set-activity(rotate presence) andsend-motivation(evaluate per-guild schedules every minute).