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 polishing small tools into more capable, portable projects. Circle-Generator gained a standalone HTML build, touch pinch-to-zoom, and a more polished controls panel—especially in the fieldset layout improvements. I’ve also been modernizing CsvToMarkdownTable, including safer CLI testing and a refreshed linting/formatting toolchain through direct stdin-based CLI tests.
I’ve kept that same practical focus across ttouch, my Go-based touch alternative that generates context-aware boilerplate, and Pushover-PHP, where I added PHP 8.5 CI coverage. I’ve also continued maintaining imgdedup, including its move toward the Bitcask v2 cache backend.
I still think the best response to a software problem is usually to build a concrete fix and open a pull request. That feels especially important as tools get more automated: the useful part is not merely producing an answer, but understanding the problem well enough to make the result dependable.
Last update: 2026-09-05






