I Built a SaaS in a Week From My iPhone. Here's What Actually Happened.
Laid off Monday, company by Friday. The honest version of how Ariadne got built: a Mac mini running Claude Code, an iPhone driving it from across the house, a therapist wife giving brutal feedback, and the one failed draft that became the entire product.
Monday I got laid off.
By Friday I had a company.
The company is Ariadne, a marketing platform for solo practitioners. Therapists, massage therapists, tradespeople, photographers. People who got into their work to help other people, and did not get into their work to write Instagram captions. It's in production. It has real users. My wife Darla was the first one, and she's still the reason any of it exists.
I want to write down what the week actually looked like, because the short version, "built a SaaS in a week on my iPhone," is technically accurate and also doesn't really tell you anything. Here's the longer version.
The click
Tuesday, a friend told me everyone should have a business. I agreed. I had no idea what mine would be.
Wednesday night Darla was venting. She's a therapist in Snohomish with a private practice. Getting clients means hours of writing: social posts, Google Business Profile updates, Facebook group posts, each group with its own day-of-week rules, its own tone, its own admins waiting to throw you out if you post on the wrong day. She's very good at her actual job. She would like the marketing work to stop existing.
I sat there listening and something clicked. I could build that.
We talked all night. She told me what actually helps versus what sounds good in theory. By morning we had a product. The next day I started building.
The setup
I did most of it on my iPhone.
Not because I was trying to prove a point. Because that was what I had. The laptop was occupied by life: three daughters, two dogs, two cats, a house that does not pause for a weekend sprint. The iPhone travels with me. If I could make the iPhone work, I could steal twenty minutes at a time between other things and actually ship.
The setup was a Mac mini at home running Claude Code, and my iPhone driving it through Claude Code's remote control feature from wherever I happened to be. The kitchen, the school pickup line, the couch while a movie played. No SSH gymnastics, no laptop. I'm editing this post the same way right now.
Claude was the engineering partner. I was the director. That division of labor turned out to be everything.
The first thing I built was wrong, and that was the product
Here's the part the "built a SaaS in a week" version leaves out.
The first thing I built wasn't the product at all. Darla's most immediate pain was her Psychology Today profile, so I had the AI write her an improved one. I was proud of it. It was polished, keyword-smart, persuasive.
She hated it.
Not politely, either. She read it and gave me the kind of feedback only a spouse gives, and the line that stuck was: "It sounds nothing like me." It was all marketing. It was a profile for some generic, optimized therapist who doesn't exist. The whole draft was technically good and completely worthless, because the one thing a therapist's marketing cannot be is somebody else's voice.
I was sitting there listening to her take it apart when the actual idea arrived. The product wasn't "AI writes marketing for you." The product was the voice. Everything else was plumbing.
So that became the build order. Instead of a generic prompt, I had Claude analyze real writing samples she gave us, blog posts and social posts she'd written over the years, and extract a structured voice profile. Tone descriptors. Vocabulary patterns. Sentence shape. Things to avoid. That profile becomes part of the system prompt for every single piece of content generated for her. Then came the pipeline around it: onboarding that captures the samples, weekly generation for Google Business posts and social and the Facebook groups with their day-of-week rules, then auth, billing, the Sunday delivery email, and enough polish that Darla could actually use it without me standing behind her.
She regenerated her content with the voice profile in place, read the new piece out loud, and said: "It sounds like me."
That was the moment I knew this was going to work. Not the moment the deploy went green. Not the moment billing took real dollars. The moment my wife, who had been skeptical for four straight days because she's a thoughtful person who doesn't hand out approval cheaply, read a piece of marketing we generated for her and recognized herself in it.
Every product decision since is in service of that moment happening for someone else.
What's actually live
Not a toy. Not a landing page with a waitlist button. A real product doing real work:
- Email + password auth with verification, password reset, the whole thing
- An onboarding flow that extracts a structured voice profile from writing samples (this is the feature)
- Weekly generation of Google Business Profile posts, social posts, and Facebook group posts, with per-group posting rules pulled from a directory we seeded
- Monthly long-form blog post generation
- A referral-contact CRM with outreach email drafts in your voice
- A Google Business Profile connection for performance insights
- Weekly delivery email summarizing what's ready to post
- Stripe billing, one honest plan
- Admin dashboard for usage, rate limits, and user feedback
- A Playwright E2E suite that runs every deploy, because there is no QA team
- Two apps (therapists, and a business app covering trades, massage, and photographers) on one core codebase via Nuxt layers
Stack: Nuxt 3 on Cloudflare Pages, D1 for the database, Drizzle ORM, R2 for storage, Claude as the content engine. Zero servers to manage. The whole thing costs almost nothing to run until real users show up, which is the entire point.
What Claude Code is actually good at
A lot of people are going to ask this, so let me be honest.
Claude Code is genuinely good at boilerplate: schema, routes, forms, test scaffolds. I was writing the second layer of features (referral CRM, admin dashboard) in the time it used to take me to write the first. It's good at listening to a vague description of an outcome and producing a concrete implementation that's 85 percent right. It's good at debugging, because it will actually read the stack trace and the surrounding code and form a theory. I spent more time reviewing than writing. That felt correct.
It's also good at pair programming on taste. I would describe the shape of a feature and it would come back with an implementation plus a question about a detail I hadn't considered. Sometimes the question was the feature.
What it's not good at
It will happily over-engineer. Left unsupervised it will wrap a three-line function in abstractions, add error handling for impossible states, and invent configuration surfaces nobody asked for. You have to push back. The CLAUDE.md file in the repo is where I put the "do not do these things" rules, and I rewrote it three times during the sprint as I learned what I actually wanted.
It will sometimes hallucinate an API or a package that doesn't exist. Less often than it used to. Still happens. Verify.
And, this is the one most people underestimate, it's only as good as the context it has. If you don't give it the surrounding code, it will guess. If you do, it stops guessing. The work of working with Claude is curating the context.
What I would change
I'd start with the apex. I built the product apps first, therapists and business subdomains with the marketing content mixed into them, and it took a few versions of iterating to untangle that into what exists now: one apex marketing site, with the product apps behind it. The current shape is much better, and I could have had it on day one if I'd drawn the boundary before writing code instead of after. Structure your domains the way you want the company to look when it's grown up, even when it's a week old.
What's next
We're going to grow this slowly and honestly. Darla is still the voice of the product. She reads everything that goes out in her name, and she keeps being the last signal on whether the content is any good.
I'm going to keep writing about how this gets built, because I think the workflow, an engineer and a domain expert using AI as the thing that closes the gap between them, is going to be how a lot of small companies get built from here. I was laid off on a Monday. By Friday my wife and I had a company. This was not supposed to be possible. It is.
If you're a solo practitioner who would rather be doing your actual work than writing Instagram captions, that's the whole reason this exists: ariadnemarketing.com.