The team already lived in Discord. Instead of building a parallel chat tool, the platform makes Discord first-class: durable identity links via OAuth, per-order private channels named order-<16hex> with permission overwrites that hide them from non-members, anonymity rules enforced at the bot layer (no usernames in any output), reaction-based 1–5 rating polls with optional review text, and an ops-log mirror that posts PII-free lifecycle lines to a staff channel. Nine slash commands let admins run the lifecycle from inside Discord — order-room, order-info, order-archive, assign-booster, cancel-assignment, mark-paid, pending-orders, complete, report-problem.
- Per-order private channel under an ORDERS category, archived under ARCHIVED ORDERS on done.
- Members added on accept; late joiners reconciled on guild member-add.
- Customer-only rating reactions; other reactions silently removed.
- Bidirectional Discord ↔ DB role sync (promote without re-login; no demote).
- Live online-presence count drives the storefront hero badge.

- Deep dive · 01
System architecture
Four apps, one monorepo, typed end-to-end. Six services in compose; a shared contracts package as source of truth.
- Deep dive · 02
Order state machine
Nine DB statuses; six surfaced to customers. Every transition emits a typed audit event.
- Deep dive · 03
Eligibility-aware auto-assign
Two groups, two rounds each. Per-booster game / service / rank / max-order-value caps. 30-min default timer.
- Deep dive · 05
Stripe pricing parity + rewards
Shared pricing module so FE / BE / Stripe agree to the cent. 3% processor fee as a transparent line item.
- Deep dive · 06
Operator console + live SSE
Calm, keyboard-first, audit-first. Real-time updates via Redis pub/sub → SSE; engine pause / resume / start as first-class controls.
Got something
this size?
Big ambitions, we match the energy. Drop a brief — reply within one working day.