A solo consultant was losing every Sunday to building client reports. We built a reporting agent that ingests from everywhere the client lives, writes the narrative, and lands in their inbox at 7am Monday.
An independent data analytics consultant with 8 recurring clients, each needing a detailed Monday-morning report synthesizing SaaS data, marketing spend, ops KPIs and written commentary.
Every Sunday from noon to 8pm was spent pulling CSVs, reconciling numbers, writing commentary, and formatting reports in a template. Eight clients × 45 minutes ≈ six hours of undifferentiated work, plus two more hours fixing mistakes.
Scaling past 8 clients was impossible without either a hire (too early) or burning out (too late).
Prior BI dashboards solved display but not narrative — clients still wanted a human-written summary of what changed and why.
One YAML per client listing their sources (GA4, Stripe, HubSpot, Mixpanel, Meta Ads, Google Ads, Postgres, etc.), auth credentials, and the KPIs that matter.
Temporal workflow fans out, pulls each source with retries, reconciles currency and timezone, stores a weekly snapshot in Postgres.
Multi-pass: (1) compute week-over-week deltas, (2) flag anomalies against the 8-week baseline, (3) draft a narrative summary per client using the consultant’s house style.
Verifier pass re-reads the draft against the numbers. Catches hallucinated claims. On failure, escalates to the consultant with a specific reason instead of publishing.
Rendered to branded PDF + Notion page, emailed with a short personal note field the consultant fills in Monday morning in 10 minutes.
The consultant reclaimed his weekends. Monday 10 minutes of personalization is the only manual step left.
13 Mondays in a row, zero missed deliveries. One flagged draft, one source outage — both handled gracefully.
Capacity opened up. Three new retainers signed in quarter two — pure margin.
Equivalent to 6 months of retainer. ROI recovered in the second month.
“It just works. I still check the first report every Monday out of habit, but I haven’t had to fix one in three months.”
Free 30-minute scoping call. Bring your messiest process.
Book a call →