SR. scottyrobinson.dev
004 RUNNING & MAINTAINED 2022-NOW Index
Seismic Gaming logo

Seismic Gaming

Gaming community platform with events, progression & Discord integration.

Seismic Gaming product interface

// 01 Context

SeismicGaming.gg is the public home, operations dashboard, and Discord automation layer for an 18+ social gaming community.

The earlier community-site scope has been rebuilt into a tighter platform where the website, Discord bot, and staff tools share the same data model. The public site covers the community, games, member profiles, events, LFG, guidelines, history and clips. Behind that sits an admin surface for running the live parts of the community without editing static content by hand.

// 02 The problem

Communities live in Discord, but Discord is a poor long-term database. Event attendance, member history and progression disappear into scroll-back nobody reads.

The hard part is not building a website. It is keeping Discord and the web app agreeing about who someone is and what they have done, while giving staff tools that do not burn them out.

// 03 What I built

  • Public site

    Community homepage, about, history, rules, games, members, LFG pages and SEO-focused game landings.

  • Events system

    Listings, detail pages, RSVP, Discord scheduled-event sync, reminders, announcements and organiser tools.

  • Member profiles

    Discord-backed profiles with roles, avatars, games, XP summaries and privacy controls.

  • Game & role management

    Discord structure mirrored into the site: game channels, role boards, filters and taxonomy.

  • Clip publishing

    Medal.tv clips posted in Discord, opt-in by DM, then published onto the site when accepted.

  • Temp voice & XP

    Slash-command temp voice with hub templates, plus XP from message, reaction and voice activity via background jobs.

// 04 Architecture

CLIENT
Astro site
React islands
Discord client
EDGE
SSR routes
Bot interactions
Webhooks
SERVICES
Identity
Events
Progression
Admin
PROCESSING
pg-boss workers
XP pipeline
Sync jobs
STATE
Postgres / Drizzle
Redis
Object storage

pnpm/Turborepo monorepo. Astro SSR + React islands for the web app; discord.js bot with Fastify internal APIs; shared Drizzle/Postgres persistence.

// 05 Product

Member-facing community surface: events, progression and Discord-linked identity.
Member-facing community surface: events, progression and Discord-linked identity.

// 06 Interesting problems

  1. 01

    Discord ↔ web identity

    One human, two identities. Member records are canonical, with linked Discord accounts, so renames or re-creates do not orphan history.

  2. 02

    Event lifecycle

    Signups, waitlists and no-shows. Events sync with Discord scheduled events and need reliable reminders without double-sending.

  3. 03

    XP & activity pipeline

    Activity is captured from Discord and processed through background jobs with rules, boosts, caps and role sync, not incremented ad hoc in the bot.

  4. 04

    Staff operations

    Admin tooling for games, roles, events, XP, media, members and audit logs so the community can be run without editing code or static files.

// 07 Stack

Area Technology
Site Astro SSR + React islands
Bot discord.js / Node 22
Data Drizzle + PostgreSQL
Jobs pg-boss + Redis
UI Tailwind

// 08 Status / next

Live at seismicgaming.gg and actively maintained. Feature work is driven by staff and community needs.

  • Richer self-serve moderation tooling
  • Season-based progression
  • More public event surfaces for recruitment