I am a PHP, Go and TypeScript developer based in Minneapolis.
I work across the entire stack, but I’m happiest in the backend. Moving data, pushing bytes around, making things fast.
I ❤️ tiny reusable parts with single responsibilities and no side effects. I keep code simple, clear, and easy for anyone to read.
I’ve spent fifteen years in EdTech keeping old systems running and new ones from catching fire. Before that I built industrial and B2B tools where things had to work because people depended on them.
I’ve been on a documentation-tooling kick with MDDoc, shipping a new release that can document PHP enums—including cases, values, constants, and trait or interface methods. I also added Composer-based class lookup without loading those classes, plus configurable wrapping for long signatures so generated API docs stay readable.
Earlier in the same run of work, I gave MDDoc a --dry-run mode for checking that generated documentation is current in CI, refreshed its PHP-style output, and moved it to a newer PHPDoc parser with PHP Parser 5 support. The theme has been making generated documentation more useful as an everyday development artifact rather than a thing to clean up afterward.
I also refreshed the Photo Booth repair script for current macOS behavior, updating its filename handling so rebuilt libraries sort correctly and adding clearer notes for Apple Silicon users.
I’ve been thinking about code review as a core part of building software: clear, straightforward code makes it easier for other people to understand changes, catch mistakes, and confidently keep a system moving.
Last update: 2026-10-16






