From the workbench

Notes on building real software.

Write-ups on the SaaS products and client sites I build - architecture decisions, what broke, what an AI-assisted build process actually looks like day to day. Published as it happens, not cleaned up after the fact.

Why I'm Building a Niche SaaS With Claude Instead of Hiring a Dev

It started with a favor - a free resume site for an actor friend. Here's how that turned into MyStageBio, and why so much of the actual build happened in conversation with Claude rather than line by line by hand.

Read the post →

Domain, Hosting, and Why I Didn't Reach for Vercel

Picking mystagebio.com, sticking with shared hosting instead of Vercel or Supabase, and what wildcard subdomains actually required to set up.

Read the post →

Designing a Multi-Tenant Database on Shared Hosting

The MySQL schema behind MyStageBio, and the one discipline point that keeps one performer from ever seeing another's data.

Read the post →

Wildcard Subdomains 101

The routing code behind MyStageBio: one front controller that decides what to render based on which hostname a request arrives on.

Read the post →

Where AI Actually Belongs in a SaaS (and Where It Doesn't)

MyStageBio uses Claude Haiku 4.5 for bio polish and resume import - and the uncapped-spend bug that nearly turned a free demo into an open tap.

Read the post →

Adding Custom Domains to a Multi-Tenant App Without Losing Your Mind

MyStageBio's custom domain feature was fully built, then hidden behind a flag - because verifying DNS and actually serving the site turned out to be two different problems.

Read the post →

Pricing a SaaS for a Market With No Money

Why MyStageBio's free tier got cut during the build, and the math behind pricing it at $9/mo or $59/yr for an audience that mostly can't afford much.

Read the post →

What It Actually Costs to Run an AI-Assisted SaaS for a Month

Real numbers for hosting, Claude API calls, and Stripe fees behind MyStageBio - plus two bugs that would have cost more than money if they'd shipped unnoticed.

Read the post →
Don't miss a post

Get new posts by email

An email whenever something new goes up on the blog. No spam, unsubscribe anytime.

Building something of your own?

If you need a custom site or web application built the same hands-on way, let's talk.

Get in touch