← all work
Side project · for the guild

Eclipse

Guild HQ for Hero Wars.

Role
Design & Engineering
Year
2024 — present
Status
Live
eclipse-web-sand.vercel.app
Eclipse — hero screenshot
A web app I built for my Hero Wars gaming guild — the coordination layer the game itself doesn't give you. The side project's side project, and a genuinely good time to build.

Guilds in Hero Wars live or die on organisation: who's hitting which boss, who's online, who pulled their weight this week. Eclipse pulls that out of scattered chat messages and into one shared, always-current place.

[Placeholder — add the real detail: what Eclipse actually tracks, what problem it solved for your guild, and the feature you had the most fun building. Structure's ready to fill.]

what it does

The good bits.

01

One source of truth

Rosters, activity and standings in a single shared view — no more digging through chat history.

02

Built for coordination

The day-to-day organising a guild needs, made quick instead of painful.

03

Made for players

Designed around how the guild actually plays — not a generic dashboard bent to fit.

04

Discord-native, both ways

Sign in with Discord — access is automatically gated by your guild role, no separate permission system needed. When you assign or approve a fort in Eclipse, it posts the update back to the right Discord channel so the guild stays in the loop even if they never open the app.

a closer look

Screens.

under the hood

How it's built.

Next.js 16 on Vercel, with a MySQL database via Drizzle ORM. Auth is Discord OAuth — guild membership is verified at sign-in so access control is handled entirely by Discord roles. The Discord integration runs in both directions: guild members are read to gate access, and fort assignments post back to Discord channels as embeds, keeping coordination in sync across both surfaces.

Next.js 16MySQL + Drizzle ORMNextAuth + Discord OAuthTanStack QueryTailwind v4Vercel

Even the hobby has a product.

Eclipse is live — take a look at what happens when an engineer joins a guild.