I'm an accountant and tax preparer in New Jersey. No computer-science degree, no bootcamp, no prior code to my name. In January I installed Claude Code, asked it what npm meant, and then I didn't stop.
Most vibe-coding content is written by someone who built one thing once, on a good weekend, and moved on. This is the other thing — what happens when a non-programmer stays. Through platform failures, an account lockout I had to fight, whole architectures I tore down and rebuilt, and a running argument with an AI I told to push back on me. The sustained part is the story. The one-weekend demos never get there.
The productive sessions all had the same shape: I brought the direction and the judgment — I know the users, the tax work, the actual problem — and the AI brought execution and honest resistance. Fifty-one to forty-nine, mine. The moment that ratio flips — the AI turns agreeable, or I go passive and just accept output — the quality falls off a cliff. Every real breakthrough here came out of friction, not frictionless compliance. So the timeline below isn't a victory lap. It's the record of a partnership that argued its way to working software.
Reconstructed from commit history across 37 repositories, GitHub creation dates, and the conversation logs. The conversations explain why; the commits show what. Together they're the receipts.
Before any of this, I'd been trying to build software for a while and failing at it. ChatGPT-era automation scripts. Browser-scraping hacks for a claims portal I used in a side line of insurance work. A couple of half-built apps that never shipped. I tried Replit, I tried a few AI coding tools — nothing held together long enough to become a habit. The itch was real; the workflow wasn't.
Getting Claude Code to run at all was a three-day battle — Node, Git Bash, environment variables, an execution-policy wall in PowerShell. My very first question to it was, in plain words, “what's npm?” Once it ran, the first real thing I built was a script to pull documents out of that claims portal — and I set the two rules I've kept ever since: explain it without jargon, and don't ask my permission for every step.
Before writing much more, I set the rule the whole portfolio would answer to: automation has to make me more indispensable, never more replaceable. From there the foundations got laid fast — a tax-planning engine that parsed hundreds of organizer PDFs into a searchable database, a document parser built to survive every broker's ugly statement format, and the first seed of what became a flood-claims pipeline.
One choice defined the architecture of everything that followed. Replit was flexible but the metered pricing was unpredictable and climbing. The alternative — Claude Code plus Vercel plus Supabase — was a flat, knowable monthly cost. I picked the boring, predictable stack. Every app in this portfolio is built on that one Tuesday decision.
Once the stack was settled, the dam broke. In February alone I spun up nineteen new repositories spanning tax, fitness, education, coaching, accounting, auditing, language learning, and a cryptographic timestamping experiment. A tax report-card scanner shipped twenty-one commits on its first day. By the 22nd I could say out loud: eleven working apps, one month, under seven hundred dollars.
Building the thing is the easy half. This stretch was billing (Stripe subscriptions and metered charges), test harnesses across five apps at once, multi-tenant plumbing, an embeddable widget, and an iOS App Store build. The lesson I'd give my earlier self: you need a test harness at app number three, not app number twenty-seven — because the SAT-tutoring monorepo alone would go on to eat 146 commits, and nothing that big stays sane without one.
The last stretch is where the pieces connected. A flood-claims pipeline went from manual PDF grind to an automated pipeline with a dashboard. An email-answering system got built end-to-end in a single day. A Claude-vs-Claude test runner came online to grade the other apps. And I unified Google/Apple sign-in across four consumer apps at once. On the busiest day I created four new repositories before dinner.
The timeline is the map. The living work is everywhere else on this site — and it's still going. Every app above kept shipping past this window: hardening, monetization, whole rewrites when the first design was wrong.
If you want the day-to-day of how it actually gets built — the scars, the tools I tried, the frustrations that bit — start with the Blog, where each field note is welded to a real thing I tested. If you want the verdicts — every platform, model, and connector I ran, the wins and the ones I dropped on sight — read the Factory Reviews. No hype in either. Just what happened, and the receipts.