
I founded ionite’s product design, then came back on contract to design its control configuration surface. It needed enterprise-procurement knowledge I didn’t start with. How I closed that gap, and where judgment still did the work.
View case studyI design products directly in code.Not in static mockups, in production constraints. I work in the running product from the first line, thinking in state, real data, responsive layout, and performance. Web and native iOS, concept through to what ships.
Even the best prototype is still a simulation of the interface.
The copy that runs three lines long. The empty state nobody drew. The breakpoint that actually collapses. In a simulation those get approximated. In the real interface they surface on their own, and those details decide whether a product feels solid. That’s the version I work in.

I founded ionite’s product design, then came back on contract to design its control configuration surface. It needed enterprise-procurement knowledge I didn’t start with. How I closed that gap, and where judgment still did the work.
View case study
ShiftWire lights a mechanical keyboard from the state of the editor you’re already in. Part one is the first working slice, the desk that contradicted it, and the ownership contract that came out of the contradiction.
View case study
I built a personal AI operating system, then a test harness to try to break it. What it caught, what it missed, and the boundary that defines what governance can and cannot do.
View case study
Form Logic is a design system I own end to end and build through AI agents: five packages, a component catalog, and a governance layer built into the repository. This is about how much of a visual ruling can be converted into an executable constraint, and what must remain with the person looking at the render.
View case study
Strict Mode compiles a design system’s rules into a lock and fails a check against it. It grew inside a design system, hardened for a month against five consuming products, and was extracted carrying its own history. What that month cost, starting with 186 findings that were all wrong.
View case study
The hard part was never finding the risky places. It was saying plainly when the app could not see. I designed RobinWay end to end and directed the build: native SwiftUI, with a custom turn-by-turn navigation stack.
View case study
A recorder that loses the recording fails at the one moment it exists for. Hearafter’s first consequential failure did exactly that, and the repair turned reliability from a callback fix into a question of which process owns the only copy.
View case study
Zero Alpha is a shared household ledger with two equal seats. Before production persistence could begin, I built three disposable CloudKit harnesses to find out whether the platform underneath it could support the product I had described.
View case studyWhen a team is stuck, the problem on the table usually isn't the real one. On an enterprise compliance platform, a naming fight over a single screen turned out to be one entity wearing four different names: a structure problem, not a vocabulary one. I look for that underlying shape before I build, because the cleanest interface in the world doesn't help if it solves the wrong problem.
There's no spec sitting between them waiting to be interpreted, and nothing gets lost in translation, because the design is the shipping code. That's also why the semantic markup, the keyboard paths, and the accessibility are in the first pass instead of a cleanup ticket somebody files later.
A design system isn't a folder of components in a shared file, it's an enforceable specification. I write the spacing, typography, and layout rules as tokens and constraints the code has to obey, so divergence shows up in the implementation instead of accumulating across it.
Diagnosis first, then a system that holds, then the built interface. For me that’s one continuous job, not a series of handoffs.

I’m a design engineer, and I’ve built for the web since the dial-up era. I designed my first logo in MS Paint in 1995, at eleven. I built my first website in 1998. By 1999, at fifteen, I was designing interfaces for AOL proggies in Microsoft Visual Basic. Design and engineering started as the same childhood hobby for me, then became a career. That adds up to nearly thirty years hands-on and twenty professionally, shaping products across agencies, enterprise, and independent work.
I came to design from an unusual direction. Before any of it, I served in the U.S. Air Force operating command-and-control systems. That’s where my habits came from: precision, accountability, and a low tolerance for anything that fails quietly. I’d rather a system break loudly and tell me why than keep running after it stops being correct.
The build moves faster than it used to. Much of the code I ship is written by AI under my direction, which is how RobinWay went from concept to TestFlight in a month, and how Hearafter went from first commit to a paired Watch and iPhone build in three days. The speed is real and so is the failure mode: a model hands you work that’s plausible, confident, and wrong, without flagging which is which. Catching that is judgment, and it’s the part of the job that’s still mine.
I build my own products. I conceive them, design them, and ship them myself. I’m based in Glendale, Arizona.
The work I care about is the kind where designing it and shipping it are the same job. Email is the best way to reach me.