PROJECT - WORK

What I build

Client work usually happens as a freelancer, under confidentiality - those projects can't be shown here. What I can show are products I build entirely myself in my own time, from architecture to interface.

Both projects below are personal projects, not client work or case studies - I build them to stay sharp on techniques I don't use daily in client work.

01/02 - DECKPILOT

Deckpilot - Commander-first deck builder

A smart deck builder for Magic: The Gathering's Commander format. Instead of starting from a hundred empty card slots, Deckpilot begins with a single commander and a chosen power level, then guides the user toward a complete, legal, and coherent deck - including collection tracking, a browser for nearly a thousand sets, and automatic card updates via a local database.

STACK
Laravel 12 / PHP 8.5 / MySQL 8.4 / Redis / Meilisearch
INFRA
Docker (Laravel Sail)
STATUS
Actively in development
Deckpilot set browser with type, year and color filters, 985 sets found
Set browser - 985 sets, filterable by type/year/color
Deckpilot collection overview with 4,161 cards, 89 sets started and estimated value
Collection tracking - progress and value per set
Deckpilot detail view of the Final Fantasy set, 246 of 313 cards collected
Set detail - card-by-card progress
02/02 - SARONITE TABLE

Saronite Table - custom virtual tabletop for D&D

A custom-built virtual tabletop for D&D 5e campaigns, with session management, a live game board with initiative tracker, and real-time sync between players via Socket.io. The server follows a layered architecture (controller to service to repository to domain) so business logic can be tested independently of the database.

STACK
TypeScript (strict, ESM) / Fastify / Socket.io / SQLite (Drizzle) / Vite + PixiJS
ARCHITECTURE
pnpm monorepo - shared / server / client
STATUS
Actively in development
Saronite Table campaign overview with two active campaigns and options to start or join a new one
Campaign management - multiple tables, per-player role
Saronite Table live game board with tokens, initiative tracker and dice log
Live game board - tokens, initiative, dice log
Saronite Table login screen
Session access