Open to senior IC roles

I build custom applications and developer tooling.

Nine years in, mostly Laravel and TypeScript. Away from the keyboard, I design precision telescopes, 3D print them, and point them at things that are very far away.

Now
Head of Engineering, Sky High Visions & Hoopless
30+ client engagements, shipping as an IC
Previously
Loop Returns, post-purchase for 5,000+ brands
WillowTree, platform for Fortune 500
Stack
PHP, Laravel, Vue, Inertia
TypeScript, React, Node, Go, Postgres
02

Selected work

Three of thirty engagements
2026/Healthcare/NDA

Clinical operations platform for outpatient behavioral health

A clinical-quality and operations platform built as a TypeScript monorepo: React front end, Fastify API, Postgres via Drizzle. HL7 claim submission and X12-835 remittance parsing over an EMR and billing integration layer, eight role-scoped surfaces, and server-side redaction that strips financial fields and PHI before responses leave the API.

TypeScriptReactFastifyDrizzleHL7X12-835
The full detail is on the resume →
Surfaces8 role-scoped
Claim formatsHL7, X12-835
PHI redactionServer-side
CI test suites112
Team2 engineers
Go / Open source Repository ↗

Scry

One Go daemon spanning five domains: code symbols, git history, database schemas, HTTP traffic, and a cross-domain graph that connects them. 23 MCP tools serving pre-computed answers in single-digit milliseconds. Replaces 30 to 50 percent of an AI agent's tool calls, and replaced three of my own earlier daemons.

$ scry status
4 repos / 148,291 symbols cached / 2.1ms median
$ scry serve --mcp
23 tools ready ok
Go / Open source Repository ↗

Trawl

A single Go binary for tiered web scraping. It escalates from plain fetch to headless only when a page demands it, and emits clean markdown built for LLM pipelines rather than for browsers. No API key, no service to run, one file to ship.

$ trawl --help
scrape · crawl · batch · map
sitemap · mcp · resume
03

Currently building

My own products
The ChildScribe home page, headlined 'Which dinosaur is her favorite this week?'
childscribe.comBeta

ChildScribe

A memory-keeping app for parents of young children. Once a week a short voice conversation with an AI interviewer draws out what your kid actually said, then turns it into a private journal entry and, when you want one, a printed memory book. Laravel and Inertia on the web, Expo on iOS and Android, Stripe for subscriptions.

LaravelInertiaVueExpoStripe
The PH Cleaning Co home page with the instant quote form: service type, bedrooms, and bathrooms
phcleaningco.comLive

PH Cleaning Co

My own house cleaning company in Columbus, and the software that runs it. The site prices a home in about fifteen seconds instead of routing people to a sales call, with published flat rates, service and service-area pages built for local search, and a separate operations app for scheduling and dispatch.

AstroCloudflare WorkersTypeScriptLocal SEO
04

Open source archive

All repositories ↗
Year Name Description Stack Link
2026 Helm A native terminal workspace for managing projects, processes, and AI agents. One window with a sidebar of your projects and processes, a real terminal, and an MCP server so your agents can see your entire stack. Rust, TypeScript, Tauri
2025 Cockpit A tmux-native terminal dashboard that aggregates live status from tmux sessions, git repos, Obsidian tasks, GitHub CI, and your calendar into a single at-a-glance TUI. Create and save new sessions from the dashboard, quick capture tasks, toggle todos, and a signals panel that tells you what needs attention right now. Go, TUI, tmux
2026 expo-agent-bridge An MCP server and Expo dev plugin that gives AI coding agents runtime visibility into React Native/Expo apps on iOS Simulator. Screenshots, tap automation, navigation state, store inspection, network logs, and console output, all exposed as MCP tools. TypeScript, MCP, React Native
05

Writing

All 28 posts →
06

Astrophotography

Every image here was shot through a telescope I designed in Fusion 360 and printed in PET-CF. Most are LRGB or narrowband composites stacked from 4 to 14 hours of 300-second subs.

All 11 targets →
3D-printed 150mm f/5 Newtonian · ASI533MC Pro Columbus, Ohio · Bortle 5
07

Let's talk about something specific.

Reply within a few days

Tell me what you are actually trying to build and I can be useful in the first reply. I read everything and answer within a few days.