I like learning how things work, building useful software, and collaborating with good people.
Product UI, server logic, auth, data, and the glue in between. I like when a tool earns its place by helping someone do a real thing.
Clear boundaries, strict types, and enough patience to understand the shape of a problem before trying to make it behave.
Good software is usually a team sport. I care about readable handoffs, honest tradeoffs, and leaving the next person a little more room.
Some practical, some playful, all built to be opened.
I learn best by making things you can poke at, break down, and improve.
A small, fast drawing surface built straight on the Canvas API: flood fill, palette state, PNG export, and no extra ceremony.
Under the hood: Canvas state, flood fill, palette control, and export all running in-browser.
A small local checklist for deciding whether a piece of work is ready to hand over, or just close.
Under the hood: Deterministic readiness logic, concrete gates, release notes, and a copyable handoff summary.
A practical blind clock for a home poker night: simple controls, editable levels, and a timer that keeps the table moving.
Under the hood: Local clock state, blind-level transitions, editable durations, and keyboard-friendly controls.
“I like software with a point of view: fast enough to disappear, clear enough to maintain, and just strange enough to remember.”
The work is part product sense, part systems discipline, part tasteful trouble.