Roundhouse - Discord Command Bridge

Published at Sep 17 2025 18 views

Inside Roundhouse: Building the Discord Command Bridge

Roundhouse is the desk where human support instincts meet the volatility of Discord. We ingest threads the instant they ignite, stitch them into a living interface, and let operators respond with the same urgency that created the fire in the first place. This post pulls the curtain back on the project: what we built, how the pieces collaborate, and the features that make the console feel alive.

Why Roundhouse Exists

Discord has become the default helpdesk for communities, yet its interface was never meant for triaging high-volume support. Roundhouse treats every thread as a ticket, every message as a data point, and every second as an opportunity to reply while the context is still warm.

The Monorepo Constellation

Workspace Stack Purpose
apps/web React + Vite, Apollo Client, Tailwind Operator UI with real-time threads, message timeline, and compose tools
apps/api Hono, GraphQL Yoga, Pothos GraphQL queries, mutations, subscriptions, auth, and Discord handshakes
apps/worker discord.js, Prisma, Redis Gateway consumer, persistence pipeline, and event broadcaster
packages/db Prisma Schema and generated client shared across services
packages/data TypeScript utilities Shared domain types and helpers to keep contracts honest
packages/redis Typed Redis wrappers Abstractions for publishing and subscribing to live events

Each workspace owns a clear slice of the mission but shares a single type system. That keeps the mental model compact even as traffic scales.

Following the Signal

Roundhouse Sequence Diagram

  1. A Discord thread or message lands. The worker adapts the payload, normalizes authors, threads, and message entities, and commits them through Prisma.
  2. The worker emits a compact event into Redis. We keep the envelope tiny so event fan-out stays resilient.
  3. The API subscribes to that Redis channel, shapes a GraphQL-safe payload with Pothos, and streams it over graphql-ws to every connected browser.
  4. The web client patches Apollo caches in place, animating the UI without a single refetch.

The result: Roundhouse responds to every Discord twitch in under a second, even when multiple operators watch the same ticket.

Feature Flyover

Architecture in Slow Motion

Design Principles

Edges We Watch

Looking Forward

Roundhouse is already a fast lane for Discord support teams, but the next frontier is proactive help: knowledge base retrieval during replies, smarter alerting when threads go cold, and richer dashboards for volume forecasting. Until then, every piece of the stack-from the Prisma schema to the Tailwind components-exists to keep human responders in sync with a very noisy world.

Stay legendary.