
Real-Time Notes
Collaborative editor
A notes workspace where edits sync across every open session as you type, with Supabase Realtime, cookie-based auth and a BlockNote rich-text editor.
- Next.js
- Supabase
- BlockNote
- TypeScript
Everything I've built, from production-ready products to weekend experiments. Each one taught me something I still use.

Collaborative editor
A notes workspace where edits sync across every open session as you type, with Supabase Realtime, cookie-based auth and a BlockNote rich-text editor.
Clinic booking system
Appointment booking for a multi-therapist clinic. A Postgres exclusion constraint makes double-booking impossible (verified by 20 simultaneous requests), with a keyboard-operable slot picker, WCAG AA and Lighthouse 95–100.
Multiplayer game
A 1v1 online dice duel with Socket.IO matchmaking, an Elo leaderboard, a unit-tested rules engine shared by client and server, and a PixiJS fight scene.
3D racing game
Browser racing with vehicle dynamics simulated from scratch.