I gave myself 60 days to bootstrap side income with Claude Code
A senior engineer's honest 60-day log of using AI tooling to ship real products — what actually got built, what it earned, and what I'd do differently.
Sixty days ago I gave myself a constraint: use AI tooling — primarily Claude Code — to bootstrap real side income as a solo engineer. Not a tutorial project. Not a toy that gets a star on GitHub and then rots. Things that ship, get traffic, and actually make money.
I’m a senior software engineer. I still do the job full-time — I’m in a codebase every day, not narrating from the sidelines. So this isn’t a “quit your job and go all-in” story. It’s the opposite: what one person can build in the cracks around a demanding day job when the tooling finally got good enough to matter.
Here’s the honest log. What shipped, what it earned, and what I’d do differently.
The rules I set for myself
Before I wrote a line of code, I wrote down the constraints. Constraints are the whole point — without them this becomes “mess around with AI for two months” instead of a test with a pass/fail.
- 60 days, nights and weekends only. No touching it during work hours. If it can’t survive the margins of a full-time job, it’s not the kind of side income I’m interested in.
- Real money or it doesn’t count. Not “potential.” Not “an audience I could monetize later.” Dollars that landed.
- Lean on AI for leverage, not magic. Claude Code does the work I’d otherwise need a contractor or a second pair of hands for — scaffolding, refactoring, content tooling — but I’m still the engineer making the calls.
- Build things I’d be proud to put my name on. No spam, no AI slop content farms. The bar is “would I send this to another engineer,” not “will Google index it before it notices.”
A note on what I will and won’t share
Quick contract with you, because it shapes everything below: I share the method and the numbers, but I keep the specific money sites anonymous.
Naming exact niches and domains invites copycats and concentrates search-engine scrutiny on the exact pages paying the bills. I’ve watched people torch a working site by tweeting the URL. So you’ll see real revenue and real process here — just not a paint-by-numbers map to my specific sites. Where I name something (this site, Vaultano), it’s because it’s already public and there’s nothing to protect.
Method, not map. That’s the deal, and it’s the deal for every post I write.
What actually got built
Across the 60 days, the portfolio came out to:
- A set of SEO-driven affiliate content sites in consumer-product niches — comparison-and-recommendation style, the kind of page someone lands on right before they buy.
- A repeatable Claude Code workflow for scaffolding and shipping those sites: empty repo to deployed, indexed site without a team. (That workflow is its own post — it’s the part that actually compounds.)
- This site and blog — the build-in-public home base you’re reading right now.
- The skeleton of an e-book pulling the lessons together, which is turning into something bigger than I planned.
The unglamorous truth: most of the 60 days wasn’t “building.” It was the boring connective tissue — analytics that actually work, affiliate links that track correctly, content that’s genuinely useful instead of keyword soup, and the dozen small decisions that separate a site that earns from a site that just exists. AI collapsed the time on the mechanical parts so I could spend my limited hours on the judgment calls.
The honest numbers
This is the part most people skip or fudge. Here’s the real aggregate for the 60-day window — across the whole portfolio, not cherry-picked from the one good day.
- Total revenue (60 days): $38.21. Yes, really. Two dollars and change short of a nice dinner.
- Revenue in the final 30 days: $33.51 — which means the first 30 days earned $4.70. The back half did roughly 7× the front half.
- Traffic at day 60: ~3,000 users across the portfolio.
- Revenue-generating properties: 2 of the 4 affiliate sites. The other two earned nothing yet.
- Rough out-of-pocket cost (60 days): ~$290 — about $10 in domains, ~$40 of Vercel hosting, and ~$240 in AI tooling subscriptions.
- Hours invested: 1–2 hours a week. Call it 15-ish hours total across the whole run.
So let’s be honest about the scoreboard: I spent ~$290 to make $38.21. On a cash basis I’m deep in the red, and most of that spend was AI tooling — the leverage that let one person run four sites in the margins of a full-time job.
But the dollar total isn’t the signal. The shape is. Affiliate revenue starts at zero by definition: a brand-new domain has no authority, isn’t indexed well, and ranks nowhere until Google decides to trust it — and that takes months, not weeks. Most affiliate marketers see nothing in the first one to two months. So a portfolio that went from $4.70 to $33.51 month-over-month, on brand-new domains, is doing exactly what a healthy early ramp does. The number is small. The curve is the point.
I’m deliberately not breaking this down per-site, for the reason above. The aggregate is the honest signal: this is real, it’s tiny, and it’s growing. Anyone showing you a hockey stick at day 60 is selling you a course.
What worked
- AI as a force multiplier on the mechanical 80%. The repetitive scaffolding — page structure, schema markup, boilerplate, content tooling — is where Claude Code paid for itself many times over. That’s the work that used to make a solo portfolio infeasible.
- Shipping ugly and iterating. Every site went live before it was “ready.” A live site with real analytics teaches you more in a week than a month of polishing in private.
- Treating prompts like process. The reusable workflow — the same loop, every site — is what turned “I built a site” into “I can build sites.” Leverage compounds when the method is repeatable.
What I’d do differently
- Spent too long staring at dashboards. In the first month or two I was refreshing Google Analytics, Search Console, and Ahrefs far more than the numbers justified. When you’re earning $4.70, there is nothing in a dashboard worth an hour of your week. That hour should have gone into shipping more pages.
- Should have gotten to autopilot faster. Once a site’s structure is set, the goal is minimal-touch — let it sit and let Google do its slow thing. I kept fiddling with sites that just needed time, not attention. The leverage is in standing up the next one, not polishing the last one.
- Started the email list on day one, not day forty. The audience is the asset that outlasts any single site, and I waited too long to turn it on. (Hence: the newsletter exists now, and you’re about to see the link.)
The real takeaway
Sixty days didn’t produce life-changing money. It produced something more useful: proof that one engineer, using AI for leverage and an hour or two a night, can stand up real, earning products — and a repeatable method for doing it again. The numbers are a slope, not a finish line, and the slope is the point.
This post is the start of the log, not the summary of it. From here I’m sharing the whole thing in public — the real numbers as they move, the workflows, the things that break, and the lessons that don’t make it into anyone’s highlight reel.
If you want the honest version of that journey — including the figures most people won’t put in writing — the newsletter below is where it lives.
Build-in-public, honestly.
Real AI-side-income numbers, the systems behind a solo content portfolio, and the engineering decisions along the way. No hype, no spam.