What I run.
One operator. An AI operating system out of a single version-controlled folder, producing the output of a small studio. This is the inventory — what's in it, what's live, what's broken. Pull on anything and I'll open the file behind it.
snapshot 17 Jun 2026 · changes most weeks · Anthony Booth · DubaiMarketing — and the AI prototypes that power it
For GIG, Articulate is a marketing business around an AI operator. The AI is how I deliver marketing assets. I run best-in-class marketing workflows, and assemble wrappers and tools into working prototypes that prove an idea or speed the work.
| Stage | Marketing deliverables & assets |
|---|---|
| Research | media audit · sales audit · funnel audit · segment audit · B2B contact & company enrichment (Apollo · Clay · Lusha · People Data Labs · Datagma) · competitor & social-media data · ad, video, citation, blog & landing-page reviews |
| Strategy | positioning & messaging · campaign plans · audience / segment maps · go-to-market test plans |
| Best practice | trend scans · operator-radar briefings · best-practice playbooks |
| Benchmarking | competitor benchmarks · rival-agency landscape · performance scorecards |
| Deliverables | blogs & articles · sales & testimonial videos · ad & page copy · landing pages & microsites · decks & PDFs · social posts |
| Dashboarding | live performance dashboards · reporting views |
| Performance loops | publish → measure → optimise · A/B tests · next-round briefs |
| Prototype / workflow | What it is | State |
|---|---|---|
| Knowledgebase / GiGI | on-prem Q&A chatbot over a client's own docs — data never leaves the box | prototype |
| Genie | on-prem AI prototype — local models wrapped and set up for the client | prototype |
| GIG agent pod | sandboxed local agent team, drafts-only, governance-gated | prototype |
| Hermes Agent | 24/7 WhatsApp / daemon runtime on a VPS | pilot |
| Travel Compare | insurance comparison surface | prototype |
| BYOT | made-to-order trailer configurator (live) | live |
| Better tribe | ~14 'Better' micro-sites I run as my own marketing R&D | live |
| DrumBeat | radio / signal layer (Live Scribe) | prototype |
The tech, by marketing activity
The execution layer of SimonCMO's framework (V1) — three tiers, stage → workflow → tools. Above it sits the strategy gate (Diagnose → Decide → Execute → Measure) that governs what gets built before any tool is picked. framework: SimonCMO · Ritson × Hormozi · V1
Market entry, the motion, and the offer (Hormozi: fix the offer before the spend).
Define and find the right buyer (where the B2B enrichment lives).
Cut the audience into addressable groups.
The strategic choice that governs everything after it (Ritson: STP & positioning).
The always-on structure and calendar.
A timed push against the programme.
Where most of the workflows live.
Measurement instruments every stage and feeds back (test-and-learn).
Stack at a glance
The tools the agents actually call.
Hardware & infra
- Compute: Mac Studio M4 Max, 36 GB — single production origin (serves every site, runs the on-prem LLM, hosts media + automation). 100.82.41.69
- Also on the tailnet: Mac Pro 100.111.173.9 (Claude + vault), Mac mini (M1 · 8 GB) 100.119.127.41, Hostinger VPS (planned — Hermes daemon host)
- Storage (direct-attached / TDAS): 4 TB + 8 TB + 8 TB + 2 TB + 2 TB — the MEDIA Concat array + scratch. The 2026-05-17 wipe hit the 8 TB member.
- Home network: Neo fibre — 1 Gbps down / 500 Mbps up.
- Cloud hosting: Vercel — every public site + this page, on a global edge CDN.
- Edge: Cloudflare — registrar, DNS, TLS, CDN, tunnels — driven live via the Code Mode MCP. Zones articulate-ai.work + famflix.app
- Mesh / backup / alerts: Tailscale private mesh · Backblaze B2 · ntfy push
Models
| Model | Role | State |
|---|---|---|
| Claude — Opus / Sonnet / Haiku | daily driver, picked per task | adopt |
| OpenAI — GPT-5.x + image-1 | second frontier; image edit/composite/text | adopt |
| OpenRouter | one key → 100+ models; per-tenant routing | adopt |
| Higgsfield (Unlimited) | character-in-scene video/image; trained "Souls" | adopt |
| ElevenLabs — TTS / Scribe / Convo | voice out, transcription, voice agents | adopt |
| Ollama local LLM (on-prem) | data-sovereign path — model + data stay on box | live · GIG Genie |
| fal.ai (LongCat) · Leonardo | open-weights video; brand imagery | trial |
| Nous Portal | intended Hermes router | decided, not wired |
Local models on the Studio — T1 · Ollama · $0 · zero egress
| Model | Job |
|---|---|
| qwen3:8b | triage / classification — the workhorse |
| qwen3:14b | RAG / grounded doc Q&A — GIG Genie |
| qwen3-vl:8b | vision + best small OCR |
| qwen3.5:35b-a3b | MoE 3B-active — GIG-pod escalation (live on Studio 2026-06-10) |
| nomic-embed-text | embeddings for RAG |
| gemma3:27b | local creative writing (optional, media-quiet) |
| deepseek-v4:cloud · qwen3.5:cloud | T2 cloud-open — heavy reasoning / cheap all-rounder |
Three tiers — T1 local (Studio, Ollama) · T2 cloud-open (OpenRouter / DeepSeek) · T3 frontier (Claude / GPT). Agents route per task; GIG data → T1 only, zero egress. Source: Claude/models.md. Local agents are provisioned LibreChat-style (per-agent params + knowledge files); the local agent host (LibreChat) is live on MacPro at 100.111.173.9:3080.
APIs & subscriptions — the keys I hold
The full register of what the stack bills against. source: Claude/credentials.md · ~35 services
AI & generation
| API / service | What it powers | State |
|---|---|---|
| Anthropic — Claude Code + API | daily driver — all reasoning & build | adopt |
| OpenAI API | GPT-5.x second frontier · gpt-image-1 | adopt |
| OpenRouter | one key → 100+ models, per-tenant routing | adopt |
| Local Ollama (Studio) | qwen3 family — $0, on-prem, zero egress | adopt |
| Higgsfield (Unlimited) | character-in-scene video/image, trained Souls | adopt |
| ElevenLabs | TTS · Scribe STT · Conversational voice | adopt |
| Recraft | image gen + vectorise (icons / SVG / logos) | adopt |
| fal.ai · Leonardo | open-weights video · brand imagery | trial |
| Nous Portal | intended Hermes model router | decided, not wired |
Infra, deploy, storage & agent host
| API / service | What it powers | State |
|---|---|---|
| Cloudflare API (Code Mode) | live DNS · Workers · zones · TLS | adopt |
| Vercel | cloud hosting + deploy — every public site & this page | adopt |
| GitHub | repos / version control | adopt |
| Tailscale | private mesh across the boxes | adopt |
| Hostinger VPS | Hermes 24/7 daemon host | provisioning |
| Backblaze B2 | off-box backup | adopt |
| ntfy | push alerts (self-hosted on Studio) | adopt |
| Airtable API | structured spine — the dashboards | adopt |
| Logo.dev | brand logos (this page) | adopt |
| LibreChat | local agent host — MacPro 100.111.173.9:3080 | live |
Data, search & research
| API / service | What it powers | State |
|---|---|---|
| Serper | Google search / images / news as JSON | adopt |
| SerpApi | SERP + Images + Lens + reverse-image | adopt |
| Google Custom Search (CSE) | custom search JSON | adopt |
| Firecrawl | web scrape / extract | adopt |
| Apify | web scraping — panel-of-experts / X ingest | adopt |
| Ahrefs API | SEO / backlink data | adopt |
| Google Analytics 4 | articulate-ai.work site analytics | adopt |
| Supermetrics (MCP) | marketing-data aggregation — GA4 · GSC · Ads · Meta · Bing | parked · paid tier |
Social, distribution & comms
| API / service | What it powers | State |
|---|---|---|
| X (Twitter) API | Hype Radar pulls + distribution | adopt |
| X session cookies | For You / HomeTimeline GraphQL scrape | adopt |
| Articulate X Publish Worker | dedicated low-latency X publish | adopt |
| OmniSocials | multi-network publishing — X · LI · IG · FB · TikTok · YT | adopt |
| LinkedIn API | Articulate AI app — LinkedIn data + publish | adopt |
| Rival IQ | social competitive analytics — rival monitoring | subscription (UI) |
| Telegram Bot API | two-way async channel | adopt |
| Wassenger | WhatsApp Business API | adopt |
| Google Workspace | email — anthony@articulate-ai.work | adopt |
Media stack (StudioServer)
| API / service | What it powers | State |
|---|---|---|
| Trakt | radarr import lists (StudioServer) | adopt |
| slskd / Soulseek | music source for Lidarr (StudioServer) | adopt |
MCP / connector layer
Loaded at session start, available to any project.
Marketing & brand
Data & control
Workspace & comms
Client capture — everything lands in the vault by itself
The intake surface that keeps me current without manual note-taking. spec: Claude/whatsapp-pipeline.md · locked 2026-05-21
- WhatsApp bridge (open-source whatsapp-mcp, runs on my Mac, DB never leaves the laptop) — every client message + call captured.
- Voice notes → Whisper / ElevenLabs Scribe — .opus auto-transcribed to text in the vault.
- Granola — meeting notes & transcripts pulled into the right Clients/<name>/ folder.
- Auto-routing — each item filed to the correct client folder; nothing sits in an inbox.
- Daily vault catch-up — DaisyDiary's morning brief + a daily vault scan reconcile every project against reality, so I open the day already current.
State: WhatsApp + Granola pipeline locked, parts live; the WhatsApp gateway also feeds the Hermes conversational agent.
The agents
Named personas, each with a charter, a lane, and a gate — they argue on purpose. live from Airtable · GIG+AI Dashboard → Agents
Runs on local inference ($0, on-prem), vault-grounded, no posting tools. Everything clears GordanGovernance, then GIG approves + posts through their own channels. Live at dashboard.articulate-ai.work/gig-agents.html.
| Agent | Lane | State |
|---|---|---|
| CampaignChristy /christy | pod orchestrator — brief → pod → governance → campaign | active |
| GillyBlog /gilly | blog & content writer — drafts, refreshes, localises | active |
| SallySocials /sally | social drafts + channel plans — never publishes | active |
| VideoVic /vic | testimonial-reel pipeline — Arjun / soul-id, Higgsfield | active |
| SandySegment /sandy | segmentation model + CC metrics, claims, reporting | active |
| CiCiCallCentre /cici | call-centre reality analysis | dormant |
| GordanGovernance /gordan | the gate — guardrails, default-NO, holds compliance rules | dormant |
| Agent | Lane | State |
|---|---|---|
| SimonCMO /simon · /cmo | Marketing Expert / fractional CMO (Hormozi × Ritson) — owns the marketing framework, offer & demand logic; gates marketing soundness | active |
| MotherMary /mm | orchestrator — routing, priorities, canon control (Claude) | active |
| SuperSebastian /sebastian | stack & canon authority — models, MCPs, tokens, radar | active |
| KendallRoy /kendall | adversarial review — auto-fires on plan-shaped output | active |
| ConnieConsultant /connie | analysis — MECE, baseline-first, no directional answers | active |
| BelindaBrand /belinda | brand sign-off on everything external | active |
| WilliamShakespeare /will | copy, voice, de-Claudification (Claude) | active |
| DylanDesignDirector /dylan | design lead + typography, prompt-anchor SOP | active |
| RogerDeakins /roger | DoP — cinematography, lighting/framing/lens register | active |
| PetePDF /pete | PDF gate — preflight + review of every PDF that ships | active |
| BenjaminBetter /benjamin | Better-tribe editor — weekly refresh cron | active |
| StarTrekScotty /scotty | infra, preflight, deploy + git (absorbed Gavin + Dicky) | active |
| Anselm /anselm | SEO / GEO specialist | active |
| DaisyDiary /daisy | diary & calendar EA — daily brief, focus-block defence | active |
| NumbersNell /nell | personal CFO (FannyMae successor) | dormant |
Orchestrated by me (Anthony) on frontier Claude. Retired into mechanisms: TimothyType → Dylan · GavinGit + DickyTheDeployer → Scotty · FannyMae → Nell · Fred → scheduled task.
Skills — the capability library
34 reusable skills the agents call — each does one job and chains with the rest. registry: Airtable · Anthony AI OS → Skills
Four types — every skill is exactly one
| Type | What | Examples |
|---|---|---|
| Capability | does a discrete job, wraps code/MCP | image-search · yt-frames · post-to-x · deploy |
| Gate | evaluator / QA loop, invoked before ship | image-critique · pdf-review · pdf-preflight · social-audit |
| Protocol | a discipline / way-of-working, no external tool | dpr · issue-process · orchestrate · creativity-canon |
| Status | probe-first status walker | studioserver-status |
Across the system
| Location | Count |
|---|---|
| Claude/skills | 28 |
| Claude/HypeRadar | 1 — daily-x-hype-radar |
| Scheduled | 2 — daily-brief · studioserver-6am-wakeup |
| StudioServer | 2 — curate · plex-cleanup |
| Articulate | 1 — _brief-engine |
The library improves itself — skill-forge creates & optimises skills, skill-creator scaffolds new ones, and skills-review tunes them weekly.
Marquee capabilities (named skills)
| Skill | What it does |
|---|---|
| x-ingest | The X / Twitter scraper — per-author pulls feeding Hype Radar + the Better tribe. |
| orchestrate + deep-research | Global multi-agent research — many agents fan out at once, fetch, adversarially verify, synthesise a cited report. |
| appshotter | Bulk screenshot / image capturer — built the 1,000+ trailer-image library for the BYOT build. |
| website-poc | The site-build skill behind ~15–20 sites — Anywoman (10), BossCouple (2), BYOT, the Better tribe, client POCs. |
| get-image · film-still-composite · yt-frames | Image sourcing, composite, and video-frame extraction. |
| linkedin-ingest · social-audit | LinkedIn ingest + multi-channel social audit (Boss Couple, Ryan, GIG). |
| OmniSocials | Multi-network publishing — X · LinkedIn · IG · FB · TikTok · YouTube through one API/auth. |
| post-to-x | Dedicated low-latency X publish path (@anthony71booth). |
| ShadowShop | Mystery-shop of rival buying journeys — competitor intelligence (GIG). |
| MediaRoundup | Rival + own media monitoring, auto-captured to Airtable. |
| Insurance Compared | Rival product / price comparison surface. |
| Better.Maas | Rival AI-marketing-agency landscape — who's doing what, scored. base. |
| Rival IQ | Social competitive analytics — monitors rival social activity, feeds the competitive picture. |
| tufte-viz · deliverables-scaffold | Dashboarding & data-viz — the live ops dashboard (dashboard.articulate-ai.work); Supermetrics is the marketing-data source (GA4 · GSC · Ads · Meta · Bing — parked on free tier, needs paid plan). |
Full library (33 skills in Claude/skills)
ai-image · applied-creativity · career-audit · cloudflare · creativity-canon · deliverables-scaffold · deploy · dpr · film-still-composite · get-image · hermes-curator · hermes-deploy · image-critique · image-search · issue-process · linkedin-ingest · longcat-video · media-rename · orchestrate · panel-engage · pdf-preflight · pdf-review · post-to-x · sandbox-bootstrap · skill-forge · skills-review · social-audit · storage-review · studioserver-status · tufte-viz · website-poc · x-ingest · yt-frames
GIG — the proposed projects
Every idea on the table, each linked to its live page off the GIG+AI microsite. State labelled honestly — nothing carries real GIG data until you engage. live from Airtable · GIG+AI Dashboard → Projects
Airtable — the structured spine
Markdown holds the canon; Airtable holds the state. 19 bases. Private today — say the word and I publish a read-only share link to the dashboard.
Other live sites
Served from the Studio behind Cloudflare. (GIG project links are in the section above.)
| URL | What |
|---|---|
| articulate-ai.work/hermes | explainer for the 24/7 agent runtime |
| dashboard.articulate-ai.work | ops dashboard — burn-rate, processes, GIG agents |
| byot.articulate-ai.work | made-to-order trailer configurator (other client) |
| plex / famflix.articulate-ai.work offline | media-aggregator product — the AI-operator origin project (origin box currently down) |
Best-practice radar & the Better tribe
How I stay ahead and prove it in public — the ~19 domains I track best practice in, and hold my own operation to.
Issues — what's broken / watched
- cost 2026-06-08 Claude spend ran to ~$719/30d — an ~80-process Opus swarm on an unpinned default. All 28 crons disabled, in-flight sessions killed, live burn-rate meter built. Rebuild = jobs move off Claude onto Mac Pro cron / VPS, cheap or no-LLM.
- cap GIG hard cap ≤2 days/week — easy to breach across sprint videos + the rest. Tracked in the Delivery table.
- paused Reels distribution paused on internal compliance nervousness — brief needs re-clarifying with Candace + Reham.
- decision Knowledgebase / sovereign-AI path hinges on GIG's data-residency posture — Bedrock vs self-hosted not yet locked.
- rag Agent RAG corpora mostly 0% embedded — needs a local vector store on the Studio (one job, unblocks all embeds).
- wiring Nous Portal decided but not wired; Supermetrics MCP parked (needs paid tier); a couple of API keys flagged for rotation.
- data loss 2026-05-17 MEDIA array wipe + DAS failure — an agent erased the 8 TB Concat member (disk5) of the 12 TB MEDIA array; the replacement 8 TB was never seated in the TDAS enclosure, so the array ran degraded. ~4 TB+ lost, ~2.89 TB recovered via R-Studio. Root cause: destructive op bundled with a recovery op. Fix in canon: destructive ops get their own message + explicit confirm; preflight/dry-run mandatory.
On now
- Cost control — proving the bleed stopped, moving recurring jobs to external runtime (Mac Pro cron / Hostinger VPS), pinning cheap models.
- Standing up the local vector store on the Studio → start embedding agent corpora.
- Re-clarifying the GIG sprint-video brief to un-pause distribution.
- Getting the Hermes daemon onto the VPS so always-on work leaves the interactive Claude surface.
Timeline
- 2024 Articulate FZE trading (UAE).
- 2026-05-06 First Claude operator sessions logged — StudioServer (the media-aggregator), where the multi-agent pattern began. At session 30+ by mid-May.
- 2026-05-17 SEV-1 — MEDIA wipe. A Claude session ran diskutil eraseDisk APFS … disk5 on the Mac mini, reformatting the 8 TB member of the 12 TB MEDIA Concat array — ~4 TB+ Plex library lost (~67% lived on that member). Cause: a destructive op bundled into a recovery batch; the RAID/Concat membership not spotted.
- 2026-05-22 Recovery — R-Studio scan; drives healthy (loss was the wipe, not hardware); ~2.89 TB recoverable. This incident is what hardened the preflight-every-mutating-job + fail-loud canon.
- 2026-05-25 Vault put under version control (first commit) — the canon hardens.
- 2026-06-02 Production origin cut over to the Mac Studio M4 Max; mini retired.
- 2026-06-08 Cost-runaway incident + cost-control build.
- 2026-06-15 Live Cloudflare control (Code Mode MCP) added.
- 2026-06-17 This snapshot.
Earliest Claude usage I can evidence in the vault: 6 May 2026 (StudioServer session 1). Any personal Claude use before that predates this folder and isn't logged here — to date it exactly I'd pull your Claude.ai account history.