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 doing a portability and maintainability pass across several small tools. CsvToMarkdownTable got safer CLI testing and a refreshed linting and formatting workflow, while ttouch, gifopt, and appsettings picked up Go 1.27 compatibility work. (github.com)
I also expanded current-runtime coverage in Pushover-PHP, including PHP 8.5 in CI. I’ve been enjoying this kind of work: taking compact, practical tools and making them easier to run, test, and maintain as their ecosystems move forward. (github.com)
I keep coming back to the difference between automation that helps me understand a problem and automation that merely produces an answer. I’m also reminded that seemingly simple interface requests—like dark mode—can become substantial when the surrounding visual assets need to be redesigned too.
Last update: 2026-09-10






