Systems I built. Client names, prices and contact details are masked, and client screens are not shown where they would identify the client.
Industrial distributor · 2025 to now
A store and back office for a distributor
What it does: A headless store for business and consumer buyers with live availability, shipping rates and card checkout, fed by supplier price files; an EDI service for a marketplace partner; a quote reader; a purchasing assistant; a controlled way into the legacy ERP; and a warehouse scanner app, behind one sign-in for the internal tools.
Result: The store is live and selling through a major marketplace. The details of each piece are on the Solutions pages.
PythonPostgreSQLStripeEDI X12
Live at arnoldtrainingapp.com
Own product · 2026 to now
Arnold, an AI strength coach
What it does: A coach that knows your training history, talks between sets, and tracks food and body state.
Result: On the App Store and Google Play, after working through several store rejections to a compliant build.
CapacitorRAGSwiftStripe
The desktop app. Account and path details blurred.
Own product · 2026 to now
PilotGentic, a desktop for AI agents
What it does: Lets AI agents see and operate the Mac and the browser, with each capability a named tool that can be switched on or off. It keeps a local action log with timing and outcome.
Result: A macOS app, an iOS app taken through App Store review, and a Chrome extension, all built and shipped.
MCPSwiftChrome extension
Association name replaced
Trade association · 2026
A survey built for honest answers
What it does: An AI-guided member survey where answers and booking contacts are kept in separate stores, so no one can be identified from their answers.
Result: Approved by the association's task force for member distribution.
Privacy by designFastAPI
Public site with the estimate form
Home remodeler · 2025 to 2026
Chatbot, AI-assisted CMS and a zero-risk site move
What it does: A booking chatbot, a publishing system with SEO scoring, and a move to a faster static site with a revert snapshot taken first.
Result: The live site was never at risk during the move.
ExpressAstroLLM content
Next step
Tell me which job you would fix first.
A short call to pick one narrow job, and how we would measure it.