Eight years of product management, the last two spent shipping production AI systems: a distributor's commerce and ERP platform, a consumer coaching app on the App Store, and an agent platform with an evaluation loop that has to prove its own work.
1,600+commits to a consumer iOS & web app in five months
5,000+commits to an agent platform, evaluation loop included
01 · Selected work
2025 → nowConfidential client Industrial distribution
Commerce, EDI and ERP integration for an industrial distributor
Chief Digital Transformation Officer. Reports to the COO and President.
The company's ERP is an AS/400 whose data is reachable only through ODBC. The brief was to put a modern commerce and integration layer on top without stopping the business, and without a seven-figure replatform.
Wrote the 3-year technology roadmap after a six-month assessment and replaced the plan the role was hired against.
Built a headless storefront on a ~60,000-SKU catalogue with Stripe checkout and B2B/B2C registration; live and selling on a major B2B marketplace channel.
Built the EDI service exchanging live 850/855/856/810 documents, and set its direction as a multi-partner platform with envelope-level isolation so a third partner needs no rebuild.
Designed an API insert layer over the ERP (customer, customer PO, RGA, vendor, rebates, AP/AR headers), validated end to end in a full test environment.
Grew supplier price and stock scraping to 20+ live suppliers with an authentication self-healing loop and a relay that gets past Cloudflare-protected portals.
Designed a full second copy of a 515-table, 27.7M-row ERP database in Postgres; the design passed contrarian and independent review before any production DDL.
Avoided a $500K outside quote for the site plus ERP integration by building in-house.
Storefront homeCategory browse, 28k products in one familyProduct detail with live availability
Client name, logo and contact details are replaced; everything else is the site as built.
2026 → nowOwn product Web · iOS
Arnold — an AI strength coach, from zero to the App Store
Founder and product engineer.
A coach that knows your training history, talks to you between sets, and tracks food and body state. Solo build, web first, then a native shell.
Took it through multiple App Store rejections (auth, in-app purchase, minimum functionality) to a compliant build: Apple in-app purchase on iOS, Stripe on the web.
Root-caused a month-long Sign in with Apple failure to a stale App ID registration, then fixed the four persistence and security bugs that success exposed.
Built the retrieval layer over each user's workout history (extraction, embeddings, graph RAG, BM25) that grounds the coach's answers.
Shipped a trainer portal with commission accounting and a referral program paid through Stripe Connect.
Found iOS voice drops from session telemetry, not guesswork: audio interruptions were silently skipping speech chunks. Shipped hold-and-resume playback.
FlaskPostgreSQLCapacitorSwiftRAGTTSStripe ConnectApp Store Connect
PilotGentic — a desktop for agents, with an evaluation loop on top
Founder and product owner.
An MCP server that lets Claude and other agents see and operate the Mac desktop and browser. The interesting half is what happens after a run.
Hundreds of tools across screen, accessibility tree, browser, files and shell, behind one permissioned server.
Every run is audited against several data sources; failures become gap reports; a promoter proposes changes; a multi-perspective committee, including a devil's advocate, reviews them; a governor applies only what doctrine allows.
Review standard used across my projects: a check must be shown to fail when it should. Diagnosis, plan and diff each pass a refute-first reviewer, and verdicts state whether the objective, not just the code, was met.
Runagent does the task
Auditchecked against several data sources
Gap reportfailure becomes a filed gap
Promotelesson proposed as a change
Committeemulti-view review, devil's advocate
Governapplied only if doctrine allows
MCPSwiftNodeAgent orchestrationLLM evaluation
2026Volunteer Industry trade association
A member discovery survey, designed for honest answers
Built and donated to an association's technology task force.
Executives will not tell a trade body what they really think of AI if they can be identified. The tool is built around that.
Guided chat plus structured questionnaire, with optional 1-on-1 booking; approved by the task force for member distribution.
A two-store firewall keeps research answers and booking contacts apart; free text is redacted; pre-launch test data is hidden, not deleted.
Proposed a parallel employee track paired to executives by industry vantage rather than by company, to prevent re-identification at small members.
Survey designPrivacy by designFastAPIFly.io
Welcome screen. Association name replaced.
2025 → 2026Work demo Web · CMS
Lazarus — an AI chatbot, an AI-assisted CMS, and a zero-risk move to a static site
Product owner and builder. 267 commits, Jul 2025 – Jun 2026.
A home-remodeling company needed a content engine that could publish consistently and rank, and then a faster site to publish it on, without taking the live one down.
Built an AI chat widget (OpenAI GPT behind a backend proxy) with a guided booking flow that captures name, contact and appointment type, logs every session, and feeds an admin view of conversations and bookings.
Built a CMS backend (Express, PostgreSQL) with article lifecycle, image management, AI content generation and built-in SEO scoring.
Moved publishing to an Astro static-site generator behind an API bridge with auto-deploy and asset sync, hosted on Fly.io.
Planned the cutover as a DNS-based gradual switch with a revert snapshot taken first, so the live site was never at risk.
Ran multi-agent audits across the blog for content, image and duplicate consistency, with written reports on each pass.
Public site with the estimate funnel. Phone number replaced.
02 · What I do for clients
A
AI-agent evaluation & review design
Rubrics, verdict schemas and negative controls that tell you whether an agent's output is actually right. Audit loops that turn failures into reviewed fixes.
B
Technical product management for AI & SaaS
PRDs, roadmaps, prioritisation, launch-readiness reviews and the executive deck, written by someone who can read the diff.
C
Legacy-system integration
API and data layers over ERPs and green screens, EDI partners, and supplier portals. Incremental, with no big-bang replatform.
D
Idea to store listing
Web or mobile MVPs taken through build, payments, store review and launch, including the rejections.
03 · Ways to work together
Three kinds of engagement. They differ by what you are buying and who holds the decision, so the way I price them differs too.
I
Product management
For a team that has engineers and needs the product work done properly.
Specs and PRDs, roadmap and prioritisation
Launch-readiness reviews
Executive-ready decks and status reporting
Engagement: hourly, ongoing or fixed term.
II
Technical product management & AI evaluation
For a product that has to work with agents, models or legacy systems, and prove it.