FREELANCER · OPS

How one freelancer billed 3 client apps on autopilot — and what their "ops dashboard" looks like.

Spoiler: it's not a Notion page with screenshots. It's a chat window the agent updates without me asking. Here's the actual setup, with numbers.

DM
Diego Marín
Operator-freelancer · The boring-part-of-shipping
TL;DR

I run 3 client SaaS products on monthly retainers. Combined MRR for the clients: ~$28k. My time per app: about 2 hours per week. The setup is: each app on its own Cloudflare account, an agent that reports daily at 8 AM, alerts that only page me for 4 specific things. Below is the actual config — including the prompts that kept me sane.

The portfolio

Three products, all on retainer:

I charge $2k/month flat per client for ops + small features. I do not bill hours. We agreed on a monthly cap of 12 hours per client; I almost never use them.

The morning routine (15 minutes)

Every weekday at 8 AM, the agent posts a summary to a private Slack channel for each client. Same template across all three:

📊 [Client A] Morning report — Mon Apr 27

Yesterday: 87 sign-ups (+12% vs avg), 4 churned
MRR: $11,890 (+$140)
Errors: 2 (both 502s on /export, retried successfully)
Slow queries: 1 (find_bookings, 1.2s p95 — flagged)
Latest deploy: 2 days ago, no regressions
Pending tasks from you (3): see this thread

I read three of those over coffee. Most days, that's it. The "pending tasks" line is the agent reminding me of things I said I'd do, not things it's blocked on.

What only the agent does

Things I used to do every week, that the agent now does:

None of these were special requests. I told the agent the rule once, in plain English. It built the cron, wired the alert, and pinged me when it was done.

The 4 things that page me

I only get a phone notification for four things:

  1. 5xx error rate > 1% for 5 minutes. Almost never fires.
  2. Stripe webhook failed 3x in a row. Critical, billing breaks fast.
  3. Database storage > 80% of plan limit. Buys me a week.
  4. SSL cert expiring in <7 days. Cloudflare-managed, basically never fires, but it's a free check.

That's it. No email storm. No dashboard I have to remember to check. The boring stuff is suppressed unless it's actually wrong.

If your ops setup pages you for everything, you stop reading the pages. The job is to page you only for the things that need a human.

The "small feature" loop

Clients ask for things. They used to text me. Now they email a single shared address — and the agent triages.

The triage is simple:

I review every single agent action before deploy. The agent doesn't push to prod without me. That's a hard rule.

The numbers that matter

MetricPer clientTotal (3 clients)
Time per week~2 hrs~6 hrs
Retainer revenue$2,000$6,000
Effective hourly$250$250
Infra cost (Cloudflare)~$15~$45
buildr subscription$140 (Pro annual)
Margin after infra~$5,815/mo

The cap is honest: I'm not pretending I work zero hours. I work 6 hours a week on these three. The other 30 hours of my week go to two new projects on fixed-price scopes, where the rate is even better.

What I'd do differently

  1. Set the morning report up day 1. I added it for Client A in month 4 and immediately wondered why I'd waited.
  2. Get every client on the same alerting setup. Three different alert channels was a small chaos.
  3. Do the weekly client digest from the start. Clients pay retainers happily when they see what they're paying for.
  4. Don't accept "fix the demo" tickets after launch. Demos are scoped work. Ops is the retainer.
Bottom line

Three SaaS apps on autopilot is a lifestyle, not a hack.

The trick isn't doing more — it's offloading the boring stuff to an agent that posts a morning summary and only pages you when something actually needs a human. The rest of the week is for new work and a long lunch.

Run your client portfolio with a morning report instead of an inbox.

buildr's agent stays after launch — it operates the database, ships small features, files alerts, and posts the morning summary. Built for freelancers, charged once.

Build my app free