Partner and Head of Engineering
Building custom full-stack applications and automations as an IC while managing a team of five engineers delivering across 30+ client engagements.
I'm a full-stack engineer in Columbus, Ohio. Nine years in, most of it spent on integrations and the systems behind them.
I run engineering at Sky High Visions and Hoopless. That means holding standards across 30-plus client engagements and still writing most of the hard code myself. I'm not looking to give up the second part.
The work I like is the kind where something outside my own code decides whether it holds up. A partner API that rate limits without warning. Claim submission where one malformed segment means a clinic doesn't get paid. A daemon with three milliseconds to answer before the agent gives up and greps instead.
Away from the keyboard I design telescopes in Fusion 360, print them, and use them to photograph things a few thousand light years out from my backyard.

| Based | Columbus, Ohio |
| Role | Partner and Head of Engineering |
| Stack | PHP, Laravel, Vue, TypeScript, React, Go |
| Family | Mo |
| Dogs | Lola and Herbert |
| Cats | Haruki and Barb |
Building custom full-stack applications and automations as an IC while managing a team of five engineers delivering across 30+ client engagements.
Full-stack engineer on Loop's post-purchase platform, a Laravel and Vue Shopify application used by 5,000+ DTC brands.
Full-stack development at a digital product agency building platforms and internal tools for Fortune 500 clients.
Built and maintained web properties for a digital marketing agency.
Before I write any code I spend time in the CLI and the API docs. I want to know what the system already does, what it returns, and where the seams are. Most of the bugs I've shipped came from skipping that step.
I lean on feature flags, canary deploys, and percentage rollouts rather than trusting a staging environment to tell me the truth. Staging runs on different hardware, different data, and different traffic, so it agrees with me right up until it matters.
I read other people's code every week, including projects I'm not working on. It's the fastest way to pick up patterns and to stay honest about what good looks like outside my own head.
At the agency I default to boring technology unless there's a specific, measurable reason to reach for something new. Laravel and Go handle most of what we build. When a client asks for a novel stack, I ask what problem it solves that the proven one doesn't. Usually the conversation ends there.
AI is most useful when it handles the parts of coding that were never interesting: boilerplate, lookup, first drafts. It's least useful when people treat it as a substitute for understanding the system.
Agency work makes you good at finishing. You can't fall back on "we'll iterate on it later" when the client needs it Thursday.
Code review is mostly about spreading context. Catching bugs is a bonus. The point is that more than one person can debug the thing when it breaks.
3D printing taught me more about tolerances and iteration speed than any retrospective. The feedback arrives in 45 minutes instead of two weeks.
Telescope optics are unforgiving. A 0.02mm error in mirror spacing shows up as a blurry star, and nothing in software forces that kind of precision on you.
The most reliable systems I've worked on had the fewest abstractions. Every layer is another thing that can fail in a way nobody predicted.
I design and 3D-print astrograph telescopes for long-exposure imaging. Two scopes published on MakerWorld. New-moon weekends are blocked on the calendar.
Mostly nonfiction about systems, physics, and how things get made. Occasionally a novel when someone insists.
Bambu Lab printer running most weekends. Telescope components, jigs, enclosures. Fusion 360 for design, PrusaSlicer for output.
Picked it up a few years ago. Still working on a consistent backhand. Playing 3 or 4 times a week when the weather cooperates.
A senior IC role on a team that treats the hard part as the interesting part: integrations that cannot fail, regulated data, and latency budgets that force real decisions. Coffee in Columbus also works if you're passing through.