Every change used to mean going to a developer. A blog post, a price update, a page that needed fixing — write the brief, wait, review it, wait again. Days, every time, for work that took minutes to describe. And nothing shipped while you waited.
That’s the part that changed. I make the change myself now, often from my phone, and it’s live before the conversation is over. Not because I became a programmer — I’m a mechanical engineer and I’ve never written software professionally. Because describing the work precisely is now enough to get it built.
This is the same capability I hand over. When a client wants a page changed, a post published, or a price updated, the answer stops being “I’ll ask the developer and get back to you next week.”
What’s been shipped that way
- Two iOS apps, live in the App Store — SunUp, which calculates real burn time from skin type and live UV, and RunMate Pro, GPS tracking with shoe-mileage management. RunMate was rejected 39 times before it was approved.
- Helm — seller intelligence that pulls Amazon SP-API, Amazon Ads, Shopify, Meta, Klaviyo and Search Console into one place, then exposes it to Claude as tools.
- A full event platform for a chip-timed road race I direct — 875 runners in its first year, plus their families, spectators and 80 local partners.
- Two Shopify stores running on API connections, with product content and blog production automated end to end.
- SportsClinicFinder — a Canada-wide clinic directory covering every province and territory, searchable by city, injury, and specialty.
- Magpie — a shared research brain for the team, so nobody researches the same thing twice.
- Marketing sites for both apps, plus this one — statically built, deployed on Vercel, with a post-build audit that fails the deploy on a dead link or a broken image.
- Content Creator PRO — built for a client, handed over running, so they stopped needing an agency on retainer to do it.
See all of it, with the stack behind each one →I build this for other race directors →