Seismic Gaming
Gaming community platform with events, progression & Discord integration.
// 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
pnpm/Turborepo monorepo. Astro SSR + React islands for the web app; discord.js bot with Fastify internal APIs; shared Drizzle/Postgres persistence.
// 05 Product
// 06 Interesting problems
- 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.
- 02
Event lifecycle
Signups, waitlists and no-shows. Events sync with Discord scheduled events and need reliable reminders without double-sending.
- 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.
- 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 | Mostly content with selective interactivity. |
| Bot | discord.js / Node 22 | Core automation surface for the community. |
| Data | Drizzle + PostgreSQL | Shared model across web and bot. |
| Jobs | pg-boss + Redis | Background XP, sync and reminders. |
| UI | Tailwind | Fast, consistent admin and public UI. |
// 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