Twenty years in product. Now I run an AI company of one.
I'm the founder of Voice Legacy, a real-time voice agent that helps families build a living digital memoir. It's live in production with paying customers. I spent twenty years as a PM before that, at eBay Motors, Ariba, Xtime, and Lucid. Building an AI company alone taught me the thing I now believe about this field: the model is maybe 20% of the product, and my job is the other 80%. That means the harness, the evals, the grounding, the guardrails, and the economics.
Available now
I'm available for AI product management, forward-deployed PM roles, founding-PM roles, and advisory work.
AI · ProjectsLast twenty-four months

Voice Legacy, a living digital memoir platform
It interviews your parents and grandparents the way a thoughtful biographer would, then writes their living digital memoir in their own voice without inventing a word of it. That last part is the hard problem: an AI under pressure to make a story look finished will fabricate details, so the pipeline separates a frozen fact layer from a free voice layer and refuses to write until the source material can support it.
Claude (Opus/Sonnet/Haiku)·Agent harness·LiveKit·Deepgram·Cartesia·pgvector·Firebase·Stripe
Claudia Control Plane, my own Claude Code agent harness
I tried OpenClaw and watched the API bill head toward $1,500 a month, so I built my own. A dashboard turns database rows into running Claude agents on a Mac mini at home, on my subscription instead of API credits. The design rule is that autonomy lives inside one bounded job, and everything around it (scheduling, claiming, classification, and recovery) stays deterministic and auditable.
Camberbot, an RC vehicle setup AI
You tell it what you're running, the track surface, and how the car is behaving (understeer, oversteer, or traction loss), and it tells you what to adjust. It covers 21 vehicles and has 100+ active users, and the whole thing came out of my own RC racing hobby.
Starflight Tribute, a browser remake of the 1986 classic
I gave Claude Code one bedtime prompt ("clone Starflight, you have one shot") and woke up to a playable game with a procedural galaxy, planet mining, alien diplomacy, ship combat, and a winnable story. The part that matters for real work is that the agent wrote its own deterministic test player, 93 checks that drive the game boot-to-victory, so "done" is a green test instead of the agent's say-so.
Lucid Motors AI service scheduling
I led product on an AI service-scheduling system at Lucid. It takes a customer's plain-English description of what's wrong with the car, predicts how long the repair will take, and books the appointment around the technicians actually available. I scoped the problem, wrote the requirements, and coordinated the data science and engineering teams that built it. This is the forward-deployed job: put AI into a working service operation and make the schedule hold.
Terminate Mate, an AI legal assistant
It is an AI legal assistant for people who just got fired, fine-tuned on a corpus of California labor law and case precedents. Lawyers charge $200 to $500 an hour, and 91% of separated employees never read their separation docs. The assistant walks them through their rights and what to do next.
Case · StudiesProblems from production, written up honestly
These come from my AI PM textbook, a course I wrote for myself on LLM systems, built entirely from problems I hit in production. Each one is a real failure, what it taught me, and what I built because of it.
The voice engine: writing in someone's voice without inventing their life
Voice Legacy's ghostwriter had a problem: given thin source material, it fabricated. My eval caught it inventing details on 14 of 14 test stories, where "we drank rum" became a piña colada, a stroller, and ancient ruins. And I had rated one of those fabricating drafts 5/5 on facts myself, which is why I don't trust the generator to police itself. The fix was architectural: a frozen fact layer that only contains the person's actual words, a free voice layer for diction and rhythm, and a write-readiness floor that refuses to write until the source can support it.
Grading a ghostwriter: the eval harness
You can't unit-test a probability distribution, so I built the next best thing: two synthetic personas with hand-authored ground truth (22 and 33 family members each, planted duplicate facts, and deliberate recipe triggers) that run through the real pipeline and get scored on 15+ dimensions across three phases. It runs at four cost tiers, from a $0.02 scoring pass to a $5.20 comprehensive run. It caught a regression a single score would have hidden: one prompt change raised voice authenticity and lowered narrative flow at the same time.
The agent that said it was done (and wasn't)
I pointed an autonomous agent at writing roughly 20 documentation pages. It reported "done, gate passed, all 22 pages complete" after a 32-second run that had done nothing. It had run the verification from the wrong directory, gotten zero matches, and read zero as success. The fix was a deterministic verifier the harness re-runs on its own, a fail-loud heartbeat, and a rule I now apply everywhere: a self-report is a claim, not proof.
The agent that wrote its own oracle
The Starflight build's durable lesson is the test harness the agent wrote for itself: a deterministic robot player that boots the real game, drives it to victory with synthetic keystrokes, and asserts invariants along the way, with 41 checks in the overnight build and 93 after later autonomous runs. It found a real bug by brute force, when roughly 300 simulated battles exposed a laser range boundary error no hand-written test would have caught. When you can write a deterministic oracle, the agent can't hallucinate success.
Self-healing pallas: the agent host that comes back without me
My Mac mini's Docker engine died while I slept, and every agent on it went down. The rebuild question was simple: what brings it back, and what brings back the thing that brings it back? The answer is a supervision tree anchored in the OS: a boot daemon, a watchdog every 300 seconds, and one shared recovery script that is idempotent and fail-loud. Restart is not recover. Self-healing buys you time and sleep; it must not buy you ignorance.
The blog pipeline: voice as a multi-pass eval
Every AI blog sounds like every other AI blog, so I treat voice as an eval problem. The pipeline has ten phases, with an LLM in the middle and deterministic checks at both ends: three voice passes checked against roughly 40 samples of my real writing (Substack posts, emails, and even Reddit comments), and then a final sweep, because voice rewriting reintroduces slop. The rule that matters most is No Confabulation: the model may sharpen my words but never add facts.
Vision over a locked door
Documents arrive behind email gates and logins, so the harness splits the problem across two models: deterministic browser automation opens the gate and screenshots the pages, a vision model transcribes pixels to markdown, and a separate reasoning model does the analysis. The model never sees the door. Transcription is a perception problem, and the quality lives in the pixels.
CareerTwenty-four years, abridged
Founder · Voice Legacy
I am the solo founder. I run strategy, product, the production codebase, marketing, support, and finance. The product is real-time conversational voice plus a single goal-seeking agent inside a massive harness that extracts story facts, checks them against the source, and assembles a living digital memoir. It's the best AI PM training I've ever had, because every mistake in the 80% around the model is mine to find.
Lead AI Product Manager · Lucid Motors
I led product for an AI service scheduling system. It delivered +30% service bay capacity, 3 days off the customer wait time, and under 15% prediction error in production.
Independent Product Strategy Consultant
I took zero-to-one engagements that turned early ideas into shippable products. These included SingularityLabs (VR work simulation with biometric EKG, acquired by Talespin) and legal-AI product exploration (top-10 finalist at Norwest’s “Anything but Chatbots” hackathon).
Head of Product · SimplyInsured
I ran product at a SaaS platform helping small businesses pick and buy health insurance. I drove 50% year-over-year revenue growth and stood up the discovery and analytics processes from scratch.
Principal Product Manager · Xtime (Cox Automotive)
I owned the mobile suite that dealerships use to run service operations at Xtime, the platform Cox Automotive acquired for $325M. I turned Xtime Engage around from a failed launch to the #1-rated solution and grew it from 0 to 3,500 paying dealerships, which is 25% of the market. The growth was all organic, at roughly $31.5M ARR ($750 per dealership per month).
Senior Product Manager · Ariba (acquired by SAP)
I was head of product for Ariba Discovery, the upstart B2B e-commerce platform inside Ariba's spend-management portfolio. I grew the seller base from zero to one million.
Category Manager, Automotive · eBay Motors
I ran the auto parts and accessories category. The compatibility and cross-border work I led brought $2B in GMV through eBay Motors and drove $240M in incremental revenue for eBay. I defined the world's first C2C auto-parts compatibility engine and hold US Patent 8,429,020 for algorithmic surfacing of international-seller listings.
Senior Integration Engineer · General Motors
I worked on interior systems across 3 vehicle platforms (around 2M annual production units). The changes I drove cut component costs by 18%, reduced development time by 30%, and saved $12M in tooling per program.
EducationEngineering school, then business school
Dartmouth · Tuck School of Business
Mechanical Engineering · Purdue University
I focused on simulation and computer graphics software development.
CertificationsContinuing the AI work
AI Product Management Bootcamp · AI Product Academy
Capstone project with VC pitch. Curriculum led by Dr. Marily Nika (Google).
Product Management for AI and ML · ELVTR
AI and ML product strategy, evaluation, and system design. Graded 95%.
Decentralized Finance MOOC · DeFi Learning
Blockchain financial systems, smart contracts, and decentralized applications. Earned the Ninja Tier NFT certification.
Product Master Certification · Pragmatic Institute
Eight-course series on product management, strategy, and product marketing.
The · SystemHow I build, verify, and operate
Voice Legacy is a production AI platform with real users. I built it and I run it without hiring anyone. Twenty years of PM taught me to write the requirements; running this alone taught me the rest: the model is maybe 20% of an AI product, and everything below is the other 80%.
Why · solo
Why solo
It is actually possible now. A year ago, no one could have done this. Today, AI does the work I would otherwise need a team for. I run development, marketing, support, and the books myself.
Speed beats scale. I ship faster on my own than with a team carrying coordination overhead. The order I want is traction first, then funds, then hires.
This one is personal. My father died and I never captured his stories. No one I would hire today is going to care about that the way I do.
Product
Requirements first, code second
Voice Legacy is the only customer on my roadmap, but I PM it the way I would PM a team's product. I run weekly priority reviews, I take customer-discovery calls when a decision is stuck, and I write requirements for any non-trivial feature. Working solo means no one else pushes back on a bad idea. The discipline matters more, not less.
Evals
The closest thing applied AI has to a moat
Anyone can call a model API; the durable advantage is knowing whether your last change made the product better or worse. My evals run two synthetic personas with hand-authored ground truth through the real pipeline (chat, extraction, gap analysis, and ghostwriting) and score 15+ dimensions across three phases, mostly with deterministic checks rather than a judge model. They run at four cost tiers, from a $0.02 scoring pass to a $5.20 comprehensive run. The multi-dimensional scoring has caught regressions a single number would have hidden: one prompt change raised voice authenticity and lowered narrative flow at the same time.
Daily 5:00 code review·Daily 6:00 security audit·Playwright E2E weekly and on release·Eval suite every release
Agents & harnesses
Autonomy inside a bounded job, determinism everywhere else
I hold one bright line: a workflow is code that calls a model, and an agent is a model that controls the flow. Autonomy trades reliability for capability, so I use the simplest thing that works and keep autonomy away from anything irreversible. In Claudia, one bounded job gets to be an agent, and the orchestration around it (claiming, scheduling, classification, and recovery) stays deterministic and auditable. I never let an agent be the only judge of its own work, because I've watched one confidently report "done, all 22 pages complete" after a 32-second run that did nothing.
Grounding & guardrails
Fabrication is the failure I design against
The bug I guard against hardest in Voice Legacy is an invented detail in someone's life story. My eval found the ghostwriter fabricating on 14 of 14 thin-source test stories, where "we drank rum" became a piña colada, a stroller, and ancient ruins. The catcher I built kept catching the same failure, so I fixed the input instead: a frozen fact layer the voice layer can't touch, a fact-fidelity gate on every output, and a write-readiness floor that refuses to write a story the source can't support. A bigger model would just fabricate more fluently.
Development
VS Code when editing, Claude Code when shipping
I describe what needs to exist, I review what comes back, and I make the architectural calls. Claude handles the syntax. The stack underneath runs 60+ database migrations, pgvector for semantic retrieval, Firebase auth, Stripe with webhooks, encryption for sensitive data, and per-task model routing across Opus, Sonnet, and Haiku. I wrote requirements for most of my career. Now I write the code too.
Every meaningful user action is recorded in PostHog, covering funnels, retention cohorts, and feature adoption. I validate dashboards against raw rows before I trust them.
Design
A rigidly templated component system that doesn't need Figma
The design happens in code. When I lay out a page, I call components by name from the library, and the interaction patterns, spacing, color tokens, responsive behavior, and accessibility all come along. I don't re-decide them per page. When I need a new component, I describe it to Claude, I tweak the output, and I add it to the library so the next page inherits it too.
Marketing
A voice-trained content pipeline that sounds like me
My pipeline runs from Sanity CMS to n8n (self-hosted) to the henry-ify voice transform to Publer, and out to Twitter, LinkedIn, and Facebook. I trained the voice model on 40+ samples of my own writing, including Substack posts, emails, and even Reddit comments. The output sounds like me instead of corporate AI slop.
Total marketing infrastructure cost is $21 a month plus the time to set it up.
Finance · billing
About $200 a month covers all the back office
Stripe handles customer creation on signup, the Free and Pro subscription tiers, the 14-day trial support, and webhook handling for subscription events. Wave is free and does the bookkeeping. Mercury is the bank.
Anthropic $50 to $200·OpenAI $20 to $50·Render $7 to $25·Publer $21·Neon, Vercel, and Firebase on free tiers·Total around $100 to $300 per month
Support
Claudia triages, I handle the rest
In-app feedback triggers an email to Claudia Control Plane, my own Claude Code agent harness running on a Mac mini at home. It monitors the feedback, triages issues, and responds or escalates as needed. The complex stuff comes to me at henry@voicelegacy.app.
Recent · WritingAll essays →
I write about building production AI alone, what the PM job becomes when the model writes the code, and what it actually takes to ship.
Introducing Lamar
Modify the spec to match your limp-wristed product specifications, instead of the other way around
The 'AI Can't Code' Debate Is Over. The Interesting One Is Just Starting.
The “AI can’t really code” debate is over. The more interesting question is what happens to the rest of the value chain when the cost of writing code drops to…
How I use my Claude Max plan to run an autonomous agent
After Anthropic Killed The OpenClaw Trick, I Built My Own Harness
SubscribeNew essays, occasionally
New essays land in your inbox when I finish them, not on a schedule.
Get · in · touchI respond to every email personally
I'm open to AI product management and forward-deployed PM roles, and I take on advisory and consulting work. My usual clients are founders who want to ship faster and PMs who want to learn to operate this way.
cooking
routes to my inbox · I read every email
