from osmoda research · agency
12 client SEO briefs sent before the Monday stand-up.
haku writes the deck. You write the strategy. GSC + GA4 + Ahrefs / SEMrush per client, AI-Overview presence checked, narrative drafted in your AM's voice, branded PDF on the AM's desk by 06:30 local.
TL;DR
- • haku pulls GSC + GA4 + Ahrefs/SEMrush per client, surfaces rank deltas + AI Overview citations, drafts a branded brief
- • Agencies save ~137 billable hrs/mo automating reports — but most tools still require you to write the narrative [AgencyAnalytics 2024]
- • AI Overviews now hit 25.8% of US searches and have cut organic CTR by up to 46.7% — your reports need a new story
- • 23-minute run, $0.62 in LLM cost across 12 clients. Persistent memory means haku remembers each brand's tone
- • BYO LLM key. White-label PDF. Hash-chained ledger so account leads can audit what was claimed when
1. The pain — Monday morning agency scramble
58% of agencies send monthly client reports and 82% track 10 KPIs or fewer per client. Automation already saves the average agency ~137 billable hours/month — but the residual work, "what does this mean for the client's business," is the part that decides whether the retainer renews. SEO services churn at 38% annually, and the leading driver isn't ranking failure — it's communication failure.
The legacy stack is a cost stack. Semrush Guru is $249.95/mo, Business $499.95/mo. Ahrefs Standard runs $249/mo. AgencyAnalytics, Whatagraph, DashThis, and Reportei sit on top to pipe data into a deck; Looker Studio is free but every client wants a different schema. None of them write the brief. Your account lead still spends Monday morning copying yellow cells into a Google Doc with the agency's voice.
It's getting worse. AI Overviews appear in 25.8% of US searches, 99.9% of pure informational keywords trigger one, and 93% of AI-Mode searches end with zero clicks. The questions clients ask you on Monday are no longer "what rank are we" but "are we cited in the AI Overview" — and the GSC API caps you at 50K page-keyword pairs per property per day, so you can't just brute-force the answer. You need an agent that knows the question.
AgencyAnalytics
Best-in-class dashboard automation; great visuals, but still needs a human to write the "so what" paragraph for each client.
Whatagraph
Pretty templated reports across 55+ sources; users self-report 20+ minutes still spent writing summaries per client.
Looker Studio
Free, flexible, Semrush/Ahrefs connectors exist; per-client schemas mean you maintain 12 dashboards by hand.
Reportei / DashThis
Cheap monthly reporting; pulls data, doesn't reason about AI Overview citation share or draft next-month action items.
2. The workflow — 06:00 to PDF
- 1 · soot runs Monday 06:00 per timezone; pulls GSC (Search Analytics API, 30-day window, ranked-by-impressions), GA4 (Data API), and Ahrefs/SEMrush API per client domain.
- 2 · lantern reads last month's brief from persistent memory, diffs the data, identifies real movement (rank deltas >3, traffic drops >15%, new AI Overview citations).
- 3 · haku drafts the per-client narrative in that brand's voice — short, founder-tone or enterprise-careful — and proposes 3 content briefs targeting AI-Overview-eligible queries.
- 4 · naga redacts client PII before any prompt leaves the box; KEYD vault stores GA4 service-account keys and Ahrefs tokens; ledger records the prompt + model + tokens.
- 5 · tofu renders to a white-label PDF (your agency CSS), sends via Gmail/Slack/Notion to the AM, and queues the action items into Linear/Asana via MCP.
3. Why it works
Quota-aware ETL
GSC and GA4 are rate-limited and load-weighted, not just rate-counted. soot batches calls inside the load envelope and caches against the previous brief in persistent memory, so you don't re-burn quota each Monday for 12 clients. That alone is the difference between "report ran" and "report ran across the whole book."
Brand voice as engineering
Brand voice is a real engineering problem, not a prompt trick. haku is fed a per-client style profile (last 6 approved reports + the founder's three most-quoted phrases) so the brief reads like your AM, not like a model. Persistent memory means you don't re-explain the client's positioning every Monday.
The 2026 SEO question
The 2026 SEO question isn't "where do we rank" — it's "are we cited inside the AI Overview." haku checks AIO presence per tracked query and reframes the action items around citation-worthy content, not just keyword density. That's the brief that survives the renewal call.
FAQ
We already pay for AgencyAnalytics — does this replace it?
No. haku reads the same APIs and writes the narrative AgencyAnalytics doesn't. Pipe it into your existing dashboard or skip the dashboard entirely. The brief is the artifact your client actually reads.
Will my LLM bills explode at 12 clients?
23 minutes of runtime, $0.62 in LLM cost across the book in our reference run. BYO key — Anthropic, OpenAI, or self-hosted. Costs scale roughly linearly with client count, not exponentially.
Where does client data live?
EU residency by default, self-hosted on your NixOS box if you want zero vendor data path. Hash-chained ledger gives you a SOC 2 / GDPR-grade audit trail across every brief, every prompt, every model version.
Stop hand-writing 12 Monday briefs. Try haku free, or self-host on Apache-2.0.
Spawn an agency agent →