Things I've built and led
Desktop apps, cloud foundations, and the platforms in between. Each one has a short case study.

Full-stack · Lead engineer
Huble
Time tracking and invoicing for teams. I lead development across the whole product, rebuilt the desktop tracker in Rust (130 MB down to 30 MB, with offline sync), and built its Paddle billing, real-time backend, and security-first infrastructure.
Read case study →Cloud & security · Cloud architect
Dayonai
Secure virtual workstations on AWS, fully defined in Terraform. Adding someone to Google Workspace gives them a locked-down machine and the right AWS permissions for their role, automatically, all inside a private VPC with keyless OIDC deployments.
Read case study →
Full-stack · Lead developer
No Hesi
The platform behind No Hesi's modded Assetto Corsa servers and its 200K+ member racing community. I led it through two migrations and built its desktop launcher, in-game chat overlay, league badges, and Discord-synced subscriptions.
Read case study →
Full-stack · Full-stack developer
Duelgeek
A tennis app that helps Vancouver players find courts, players, and matches nearby. I turned the client's Lovable prototype into a production MVP on Next.js and Supabase, from the match-up system and Mapbox courts map to launch on Vercel.
Read case study →AI · Sole developer
Tall Tavern
An MVP that brings an AI storyteller to the in-person D&D table, so anyone can play. I built it solo on React and FastAPI, with the OpenAI API narrating each scene and DALL·E illustrating the story.
Read case study →
Frontend · Frontend developer
Twinkling Treehouse
A sales analytics dashboard for an online fairy-light store, redesigned as a night sky of twinkling lights. I built it in React with every animation in pure CSS, keeping it fast and free of third-party animation libraries.
Read case study →Mobile · Developer
AmnisLive
A live-streaming social app where people follow each other, go live privately for a chosen audience, and replay past broadcasts. Building it in Flutter on Agora is where WebRTC clicked for me, from signaling to scaling one stream to a whole audience.
Read case study →