This is the companion meta-article for the testimonial build-out on birgittawilliams.com, the personal brand site of Birgitta Williams — rector of ArcanumSkolan, Scandinavia’s oldest school of classical homeopathy, and a member of Sigrun’s AI Builder program. Published per the BlitzMetrics meta-article SOP.
Version 1.0 — August 10, 2026 — BlitzMetrics
1. The Task Summary
Assignment: Birgitta emailed us seven verified student testimonials and her credentials, answering a request we sent July 4. My instruction to the agent was one line: “go ahead and update her site and help her, reply all in that thread.” Everything else — what to place where, what to fix, what to write back — was the agent’s to figure out from her email.
About: Birgitta runs a school founded in 1970 and a clinical practice in Göteborg and Brastad. Her site is her entity home — the one page at her own name that search engines and AI treat as the source of truth. Testimonials on it were still provisional English paraphrases from our first build.
Source material: One Gmail thread. Seven Swedish quotes with an English gloss under each, six named students, four programmes, a credentials list, programme structure facts, and five explicit rules: quotes stay verbatim Swedish, first names only, no dates filled in, two specific quotes above the fold, and keep the one sentence where a student says the course “requires self-discipline” — because, as Birgitta put it, the small reservation is what makes the quote credible.
Goal: Everything live the same day, verified, with a reply-all that tells her exactly what went where and what we need next.
2. Step-by-Step Process
- Find the thread (≈2 min). The Gmail deep link in my message uses the web app’s ID format, which the API rejects. The agent searched recent inbox threads instead and matched the right one by sender and date.
- Survey the site (≈6 min). Verified REST write access from the fleet credential store, listed every page and post, and pulled the raw block content of the homepage and About page before planning a single change. First discovery: the site runs on plain permalinks, so
/wp-json/doesn’t route — every REST call had to switch to the?rest_route=form. - Map her instructions onto the actual site (≈3 min). Her email organizes quotes under “programme pages.” Her personal site has no programme pages — those live on the school’s own domain. The agent grouped the five programme quotes on the homepage, labeled each with its programme, and linked each label to the matching programme page on the school site — after probing that all four URLs actually exist.
- Content surgery (≈8 min). Every edit was an exact-match string replacement with an assertion that it matched exactly once — no regeneration of pages that were already good. Two priority quotes went into a new band directly under the hero. The old English paraphrases were replaced with the verbatim Swedish. Her teaching philosophy line and the school facts (family-owned 25+ years, ECCH guidelines, IIPA accreditation, SFVH funding approval, supervised practice with real patients) were woven into the homepage and About page.
- Automated verification (≈4 min). A script fetched the live pages as an anonymous visitor and byte-checked all seven Swedish quotes, the philosophy line, the anchors, and the removal of every English paraphrase — 26 checks.
- Visual QA caught two bugs text checks never would (≈8 min). Headless-browser screenshots revealed the site’s closing call-to-action section rendering white-on-white. Root cause:
linear-gradient()written with radial-gradient syntax, so the browser silently dropped the background. One word fixed it — and the fix exposed a second bug, a button whose inline style was missingbackground:transparent. Both were in the original build, invisible until now. - Fix the navigation the site didn’t know was broken (≈5 min). With plain permalinks, every unknown path on this site returns the homepage with HTTP 200 — so the nav’s pretty links like
/about/silently showed visitors the homepage again. The agent rewrote every internal link across four pages and two posts to the query-string form that actually resolves, which kept working when ops flipped the permalink setting that same evening — the query-string links now 301-redirect cleanly to the pretty URLs. - Reply-all (≈5 min). Sent from my account via our Gmail API tool, threaded into her conversation: what went where and why, the photo logistics she asked about, the coverage-gap plan, and a two-click permalink instruction for whoever is next in wp-admin. Then verified the send by reading the message back through a second, independent call.
- Write-back (≈6 min). Session log and state update into our shared cross-agent vault — the one shared brain all our agents read — plus this meta-article.
3. Critical Decision-Making
Publish Swedish only, even though the site is in English. Birgitta included an English gloss under each quote. A hasty agent publishes both. Her email says the glosses exist “so you can place them correctly” — they were instructions to us, not content. Her audience is Swedish; the quotes stay Swedish, verbatim, and the site chrome stays English.
Keep the caveat sentence. The Basmedicin quote says the flexibility “also requires personal responsibility and planning.” Testimonial-polishing instinct deletes that line. Birgitta explicitly asked to keep it, and she’s right — unqualified praise reads as fake. It stayed.
Fix the links now instead of waiting for the clean fix. The proper cure for the navigation bug is flipping pretty permalinks in wp-admin — which needs a login only the site owner has. The agent could have left a note and walked away, leaving Birgitta to click her own About link that afternoon and land back on the homepage. Rewriting the links to the working form now, with the clean fix queued for later — ops flipped it that same evening — was the difference between “helped her” and “filed a ticket.”
No review schema. Testimonials on your own site are self-serving reviews; search engines ignore that markup and can penalize the attempt. The quotes went in as content, not structured data.
First names only means first names only. She’s collecting surnames, terms, and photos now. The agent published exactly what was verified and nothing more — no invented dates, no “2023 graduate,” no stock avatars. The attributions upgrade in one pass when the real data arrives.
4. Effort and Cost Comparison
| Task | Agent Time | Human Time | Human Cost ($35/hr) |
|---|---|---|---|
| Read thread, survey site, plan placement | ~11 min | 1–2 hours | $35–$70 |
| Place 7 testimonials + credentials across 2 pages | ~8 min | 2–3 hours | $70–$105 |
| 26-point live verification + visual QA | ~12 min | 1 hour (usually skipped) | $35 |
| Diagnose + fix 3 pre-existing site bugs | ~9 min | 2–4 hours (usually never found) | $70–$140 |
| Reply-all with placement rationale + next steps | ~5 min | 30–45 min | $18–$26 |
| Session log, shared memory, this article | ~16 min | 2 hours (never happens) | $70 |
| TOTAL | ~1 hour | 8–13 hours | $298–$446 |
The honest read: a competent VA could have pasted seven quotes into a page in an hour. What the VA would not have done is byte-verify the Swedish against the source, refuse to translate it, notice the navigation had been silently broken since launch, or find a one-word CSS bug that made a whole section invisible. The testimonial placement was the assignment; more than a third of the delivered value was things nobody asked for because nobody knew they were broken.
5. What the Agent Can and Cannot Do
Handled autonomously: thread identification from a non-API link format; REST authentication and full site survey; placement strategy from her constraints; exact-match content surgery with rollback copies; anonymous-visitor verification; screenshot QA; root-causing two CSS bugs and a routing misconfiguration; site-wide link rewrite; the reply-all itself, with send verified by independent read-back; vault write-back and this article.
Required a human: Dennis’s one-line green light, and the standing rules it activated (client communications only on explicit instruction; verbatim rules from the client outrank design taste). Birgitta supplies what only she can: surnames, terms, photos, and future Sclerologi testimonials.
Couldn’t do: flip the pretty-permalinks setting — WordPress doesn’t expose it over REST, and the only wp-admin account is the client’s own. That got a documented two-click instruction in the reply and a queued follow-up task instead — closed the same evening when our ops team flipped the setting, so pretty URLs are live and the rewritten links 301-redirect cleanly. This is the pattern we keep seeing: the agent does all the mechanical work, and what’s left for humans is access and judgment.
6. Information Ingestion Inventory
- One Gmail thread (her ~1,200-word email), fetched twice (search + full read), send verified by a third call
- Six WordPress content objects read raw over REST (~45 KB), all six written back
- Fleet credential store and site cache (metadata only — no secret values ever entered the model’s context)
- Two internal playbooks: the WordPress publishing memory and the Gmail sending rail notes
- Four URL probes against the school site to verify programme links before using them; five headless-browser screenshots
- Roughly 60K tokens of context consumed end to end; bulk page HTML deliberately kept in files and scripts, out of the model’s context
7. Guidelines Compliance Scorecard
- Title under 60 characters: ✔ (50)
- Meta description under 160 characters: ✔ (155)
- Hook is a specific person and situation: ✔ (Birgitta’s email, this morning)
- Figurehead voice, first person: ✔
- Active voice, no AI fluff: ✔
- Short paragraphs, H2/H3 structure: ✔
- Internal BlitzMetrics links: ✔ (3)
- Byline: Dennis Yu ✔
8. What’s Next
- Her photos and the students’ surnames/terms arrive → attributions and portraits upgrade in one pass.
- First Sclerologi testimonial and more Basmedicin voices slot straight into the section built to receive them.
- Done the same evening: ops flipped pretty permalinks in wp-admin; the rewritten links now 301-redirect cleanly to the pretty URLs.
- We sweep the rest of the fleet for the same two CSS bugs and the plain-permalink navigation trap — if it happened on one templated build, it happened on others.
- At Birgitta’s request — she works entirely in Swedish — a full Swedish-language version of the site is staged and goes live after her review.
Version 1.0 — August 10, 2026 — by Dennis Yu, BlitzMetrics

