Heartopia Hub↗
Cross-platform companion app for the Heartopia tabletop game — players track campaigns, parties, and unlocks from one codebase that ships to iOS and Android.
Backend engineer with 10+ years building the quiet, dependable machinery behind useful products — and an English teacher, all ages, between commits.
Technology is how I help people. Every piece of software exists to make someone's day a little easier — that's the part I care about, and that's why I keep showing up.
I've spent the last decade building backend systems — APIs, pipelines, integrations — for products in healthcare communications and games. Most recently as a platform developer leading scrum teams against tight roadmaps, before that as a developer shipping into Rails, Java, and a long tail of one-off CLIs and side projects.
Outside of work I teach English to learners aged five to sixty-five. It turns out lesson design and API design have a lot in common: both are about picking the right abstraction for the audience in front of you.
Cross-platform companion app for the Heartopia tabletop game — players track campaigns, parties, and unlocks from one codebase that ships to iOS and Android.
A Rails-based scraper that aggregates and normalizes program data, packaged as a .war for deployment onto a Java app server.
A tiny weather app with a home-screen widget. Built to learn Flutter end-to-end — including Playwright-driven web tests for the companion build.
Native Android app that breaks the daily "where do you want to eat?" deadlock with a spin-the-wheel pick.
A Space-Invaders-style arcade shooter built in Unity. Object pooling, wave choreography, juicy hit feedback.
Hero & loadout picker for Marvel Rivals lobbies — single-page Vue app deployed static. Jarvis, clip that.
Looking for a senior backend hand, a freelance pair of eyes on your Rails stack, or just want to chat? Drop a note — I read everything that lands here.