Personal projects
An AD&D Second Edition character builder and tracker. Create, level, and manage 2e characters with rules-accurate calculations, all saved locally in the browser.
- Next.js 14 (App Router)
- TypeScript
- Tailwind CSS
- shadcn/ui
- Zustand
- Dexie / IndexedDB
- Zod
- Vitest
- Playwright
- Vercel
A friendly, system-agnostic loot record keeper for tabletop games. Track items, currency, and party inventory with real-time sync across devices.
- Next.js 14+
- Tailwind CSS
- shadcn/ui
- Supabase (hosted PostgreSQL, real-time sync)
- Vercel
A Shadow of the Weird Wizard TTRPG character builder, encyclopedia, and tracker. Build characters, browse the rules, and manage play in one place.
A dark-fantasy text adventure about working a farm and exploring the land around it. A full narrative game that runs entirely in the browser, with all progress saved on the player's own device.
- React 18
- JavaScript
- browser storage (IndexedDB / localStorage)
A browser-based card game set in World War 2. Fast tactical duels with procedurally drawn art and offline saves.
- Phaser 3
- TypeScript
- Vite
- Howler.js
- localforage / IndexedDB
- procedural art
Client projects
A large-scale WordPress Engine migration and rebuild for an insurance brokerage, built from the ground up in WordPress with extensive custom HTML, CSS, and PHP to deliver the specific functionality the client required.
- WordPress
- WP Engine
- PHP
- HTML
- CSS
- JavaScript