I write code and write about things . I used to research clinical uses of artificial intelligence, develop diagnostic software, and build disaster relief hardware. Now I work on tech for vets, and hack together dev tools nobody asked for.
Currently
- Petscribers (CTO). We make price comparison and prescription management software for pet owners and vets. I designed our technical strategy and system architecture. I also run devops, manage the frontend, and develop the backend.
Formerly
- Iceberg (CTO). A workflow manager for clinical trials that visualized the entire pipeline; from patient enrollment to final analysis. The system automated protocol steps through a builder with built-in validation, so researchers could focus on science instead of spreadsheets. The cohort builder analyzed patient records to match eligibility criteria automatically.
- Miniature (CTO). Disaster relief tech that brought medical infrastructure to places without reliable power or internet. Portable mesh networks running custom software for symptom tracking, lab results, and diagnostic support, all offline on minimal hardware. The system used low-powered computers that formed both a computing cluster and a mesh network, extending coverage as you added nodes. Won multiple social impact awards and government grants.
Side Quests
- Lit. A book tracking app that’s reader-centric and privacy-focused; made because Goodreads got weird. Something that gets out of your way and lets you get back to reading, alone or with friends.
- Backstack. Batteries-included crates for Rust backends, focused on speed, reliability, and minimal dependencies. The core is a version-controlled, git-like database system written from scratch (to understand how version control and storage engines actually work). There’s also a CLI tool factory that handles all the boilerplate for internal tooling, you just start writing logic; the TUI and scaffolding are already there. The architecture follows a hub-spoke-worker design: an orchestrator that works with your choice of database (SQLite, PostgreSQL, or Redis), and workers for handling event-based pipelines.
- Grue. A Z-machine rewrite in Rust for running Infocom text adventures (Z3 and Z5 formats). Supports branching saves so you can explore different story paths without losing progress. Added predictive text suggestions to keep the genre discoverable—because text-based games shouldn’t feel like guess-the-verb puzzles.