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 modernizing my CSV-to-Markdown tooling: moving parsing into csv-walker, improving streaming and encoding coverage, tightening CLI tests, and updating the TypeScript build. The goal is a more dependable converter for real-world CSV files, including quoted fields and non-UTF-8 data. Modernize CSV parsing and build support
I’ve also been giving my PHP tools some maintenance attention, especially Boomerang. I fixed validation closures so thrown errors become useful test failures instead of aborting the run, while also improving PHPUnit and static-analysis coverage. Report errors from validation closures
I keep coming back to the value of simple software and durable web standards: small tools that are easy to understand, interfaces that do less, and technologies like RSS that help people keep control of how they follow the web.
Last update: 2026-08-18






