Developer · Tinkerer
I build playful software,
one card at a time.
Front-end developer with a workshop mindset — MagicMirror modules, game demos, and the occasional over-engineered side project.
Selected work
Each project is a card. Hover one to see it move; some flip on a live preview. Filter the deck by what it's made of.
- PO▶ preview
Full-stack Pokemon TCG collection tracker — Living Dex, Master Set, and Custom binders with card-level tracking
A full-stack app for tracking a physical Pokémon card collection the way it
- CH
MMM-Chores
MMM-Chores
- CA
MagicMirror² module — owns the viewport and relocates module wrappers into a slot-based layout document (Canvas v2, HOM-102)
MagicMirror² module — owns the viewport and relocates module wrappers into a slot-based layout document (Canvas v2, HOM-102)
- RE
MagicMirror² module — weekly meal plan and shopping list backed by self-hosted RecipeSage
MagicMirror² module — weekly meal plan and shopping list backed by self-hosted RecipeSage
- PH
MagicMirror² module — aspect-aware photo slideshow with crossfade and touch-to-advance
MagicMirror² module — aspect-aware photo slideshow with crossfade and touch-to-advance
- MA▶ preview
MagicMirror² module — animated pixel-art mascots on a free-form overlay, driven by an Aseprite spritesheet player and a date-based holiday state engine (HOM-117)
A MagicMirror² module that renders animated pixel-art pet mascots as a
About
My focus is on how thoughtful code shapes the choices people make while using it and on making things that are a little bit delightful. My first introduction to coding was hand coding G-code to carve a comic strip into a block of wood using a CNC machine.
Off the keyboard you'll find me at a hockey rink, cooking a delicous meal, or somewhere in the Utah mountains with a dog or two.
- Astro
- TypeScript
- Node
- Godot
- 3D