---
title: "Cuckoo case study: AI-drafted posts, approved from a phone"
description: "Cuckoo is my AI distribution engine, in pilot: a week of on-brand posts per channel, drafted with 4 AI providers and approved by the client from a phone."
canonical: "https://webrevolution.si/work/cuckoo/"
updated: "2026-10-05"
published: "2026-10-05"
words: 1883
jsKb: 3.3
---
OWN PRODUCT · PILOT

Social distribution · Approval portal · 2026

# A week of on-brand posts, drafted by AI and approved from a phone

Cuckoo is a bigger personal project, now in pilot. Each client gets a workspace with its own brand voice and language. AI drafts a whole week of posts for every channel; the decision-maker approves or asks for changes from a phone; approved posts join a publishing queue. The publishing connections are built and waiting on the platforms’ own approvals.

Pilot · core built 15–16 Sep 2026 · platform approvals pending · numbers observed 2026-10-05

[I want this for my business →](https://webrevolution.si/start/?goal=distribution&ref=cuckoo)

[Book 20 min](https://webrevolution.si/contact/#book)

Case file 06 / 9

~2 days to build the core (phases 0–4) observed 2026-10-05 · git history 15–16 Sep 2026

4 AI providers (Claude, GPT, Gemini, Grok) observed 2026-10-05 · codebase

6 publishing connections built, each waiting on that platform’s approval observed 2026-10-05 · codebase

Short answer

Cuckoo is an AI distribution engine I built, now in pilot. Each client workspace holds a brand voice and language; 4 AI providers draft a week of posts per channel; the client approves or requests changes from a phone. The core took ~2 days. Publishing connections are built and wait on each platform’s approval, so nothing is auto-posted yet.

Snapshot

**Type**

Own product, pilot: a bigger personal project

**For**

Agencies and businesses that post for one or many brands

**Built**

Core in ~2 days, 15–16 Sep 2026

**Services shown**

Distribution engine · Approval portal · Multi-model AI

**Stack**

Cloudflare Workers + Hono, React, D1, R2, KV, Cron

**AI**

4 providers (Claude, GPT, Gemini, Grok), keys per workspace

**Status**

Pilot; publishing waits on platform approvals

**Want one of these?** Content Engine · Distribution Module

from €3,500 · $3,850 [Start a project →](https://webrevolution.si/start/?goal=distribution&ref=cuckoo)

01 · Before

## Social posting runs on chasing Someone writes, someone waits, someone posts.

For most businesses, social media is either neglected or it quietly eats a person’s week. Someone drafts posts for each platform in each brand’s voice. Someone sends them for approval and waits. Feedback comes back in fragments. Someone logs into every platform to post. The week the coordinator is busy, the posting stops.

A typical week of posts, done by hand the problem

**writing**

risk: Drafts for each platform, in each brand’s voice, from scratch

**approval**

problem: Drafts go out by email; feedback comes back in fragments

**chasing**

problem: A coordinator chases the decision-maker for a yes

**posting**

risk: Someone logs into every platform to publish

**access**

problem: Client social logins shared in spreadsheets

**result**

problem: Posting stops the week the coordinator is busy

*The job: make approval the only human step, and make it easy enough to do on a phone.*

*Form · GET /audit/ · fields: Your website address · button: “Scan my site →”*

**Before you distribute more, see what AI already reads on your site.** Free AI-readiness audit · about 60 seconds · no email needed for the score.

02 · What I built

## Approval is the only human step And it happens on a phone.

A workspace holds everything that makes a brand sound like itself: voice, language, rules, and which AI keys to use. From that, the engine drafts the whole week per channel, already within each platform’s length and format rules. The client sees it on a phone, signs in with a one-time code, and approves or writes a note. The note goes straight into the rewrite.

1. Step 1 (input): Brand workspace, voice, language, rules.
2. Step 2 (ai agent): Draft the week, 4 AI providers.
3. Step 3 (automated): Platform rules, length, format. Rejected here: Off-rule draft (redrafted).
4. Step 4 (client): Approve on the phone, one-time code. Rejected here: Changes asked (note drives the rewrite).
5. Step 5 (automated): Publishing queue, checked every minute.
6. Step 6 (pending): Publish to platforms, awaiting approvals.

*FIG 02 — A week in Cuckoo One human gate: the client’s approval. Posts that break a platform rule are redrafted; a client’s note sends a post back for a rewrite. Publishing waits on platform approvals.*

cuckoo Fernhollow Tools workspace Week 42 · drafted in your brand voice **3** of 6 approved

**Mon** LinkedIn

Three signs a blade is costing you more than a new one.

Approved

**Tue** Instagram

Behind the bench: how we test every edge before it ships.

Approved

**Wed** X

Downtime rarely starts with a breakdown. It starts with a blunt edge nobody logged.

Approved

**Thu** LinkedIn

Rewrite requested: “less salesy, lead with the workshop story.”

Changes asked

**Fri** Facebook

Weekend project: sharpening angles, explained in one drawing.

Waiting for you

**Sat** Instagram

Customer bench of the week (photo from the client library).

Waiting for you

**Sun**—

No post. Rest day in the brand rules.

Off

Drafts follow each platform’s length and format rules. Approve the rest of the week

cuckoo Fernhollow Tools

Thursday · LinkedIn · 09:00

FT**Fernhollow Tools** Draft 2 · rewritten from your note

Every blade on our bench has a story. This one came back after eleven years in a joinery workshop, still cutting clean. Here is what its owner did right.

153 / 3,000 characters

Approve Ask for changes

Your note to the writer*“Lead with the workshop story. Less salesy.”*

Signed in with a one-time code. No password.

*PLATE 01 — Week planner, desktop · client portal, phone · mock data, fictional brand “Fernhollow Tools”*

03 · Who did what

## Who did what Agents propose. A human approves.

1. agent://researcher
   Mapped each platform’s API, its developer review and its content rules.
   **Never allowed to:** post anything.
2. agent://architect
   Designed the workspace model: one voice, language and set of AI keys per client, with secrets encrypted at rest.
3. human://vegard HUMAN GATE
   Set two rules: nothing publishes without the client’s approval, and the agency never holds a client’s password.
4. agent://writer
   Drafts a week of posts per channel in the client’s voice, in any of 4 languages.
   **Never allowed to:** publish a post nobody approved.
5. agent://tester
   Runs ~200 test cases, from encryption tamper detection and one-time-code lockout to the publish runner.
6. human://client HUMAN GATE
   Approves, declines or writes a note per post, per day or for the whole week. Notes feed the rewrite.
7. agent://watcher
   Claims due posts every minute, refreshes platform tokens before they expire, and emails on any failure.
8. human://vegard HUMAN GATE
   Runs the platform reviews: developer apps, business verification, and privacy pages reviewers can read without JavaScript.

04 · Results

## Results, with receipts Every number dated, with its method.

*Cuckoo: results with method and date*

| Number | What it measures | How it was measured | Observed |
| --- | --- | --- | --- |
| ~2 days✓ verified | to build the core (phases 0–4) | git history 15–16 Sep 2026 | 2026-10-05 |
| 4✓ verified | AI providers (Claude, GPT, Gemini, Grok) | codebase | 2026-10-05 |
| 6✓ verified | publishing integrations built (LinkedIn, Facebook, Instagram, X, TikTok, YouTube), pending platform approvals | codebase | 2026-10-05 |
| ~200✓ verified | test cases in 14 files (encryption tamper, OTP lockout, publish runner, portal) | test suite count | 2026-10-05 |
| 4✓ verified | output languages: English, German, Norwegian, Swiss German | codebase | 2026-10-05 |
| Not measured yet | Posts published for pilot clients | starts when the platform approvals land | — |
| Not measured yet | Minutes a client spends approving a week | measured from the first pilot weeks | — |

Cuckoo is labelled PILOT. I won’t claim live publishing on any platform until that platform has approved it.

05 · Running costs

## What it costs to run

The running cost is mostly AI tokens, billed to each workspace’s own provider key, so an agency can pass it straight through to the client it belongs to. Hosting is Cloudflare Workers, a database, object storage and a key-value store. Images and video stay in private storage and are copied to a public bucket only at the moment a platform fetches them.

06 · Ownership

## What you would own If I set this up for your brand or agency.

- **A workspace per brand** Voice, language, rules and history, under your account.
- **Your own AI keys** Any of 4 providers, billed to you, assignable per channel and purpose.
- **Official platform connections** Connected through each platform’s own sign-in. Never a shared password.
- **The approval history** Who approved what, when, and which note changed which post.
- **Code and Cloudflare account** The engine, the portal and the queue, in your name.
- **Security by default** Secrets encrypted at rest; admin locked behind Cloudflare Access.

07 · What I’d build for you

## A week of on-brand posts per channel, approved from your phone

If your expertise deserves more reach than your team has hours, I’ll set up the distribution module for you: your voice, your channels, your approval. Your part is a quick yes or “change this” from your phone; the rest runs on schedule.

- A week of on-brand posts per channel, drafted in one go
- Approval from a phone, with notes that drive the rewrite
- Your own AI keys and platform connections, no shared passwords
- Pairs with the content engine, so posts point to pages AI can cite

**Not for you if** you want AI to post with nobody looking. Every post here waits for a human yes.

Mapped offer · Cited

### Content Engine · Distribution Module

from €3,500 · $3,850 typical €3.5k–6k

3–4 weeks · A week of on-brand posts per channel, approved from a phone.

[Start with this →](https://webrevolution.si/start/?goal=distribution&ref=cuckoo)

[What’s included](https://webrevolution.si/services/ai-content-distribution-engine/)

[Not sure which fits? Book 20 minutes with me](https://webrevolution.si/contact/#book)

**08 · Under the hood The technical depth, for your CTO**

**Runtime**

Cloudflare Workers with a Hono API, a React SPA on static assets, D1 with Drizzle ORM, private and public R2 buckets, KV sessions, Cron every minute, Email Sending for one-time codes, Cloudflare Access for admin.

**AI**

4 providers (Anthropic, OpenAI, Google, xAI), with several keys assignable per workspace, channel and purpose (text, image, video) and a test-key button.

**Security**

Secrets encrypted at rest with AES-GCM. The admin refuses to serve in production until Cloudflare Access is configured, so a half-finished deploy can’t expose the API.

**Media**

Large video goes to storage in parts, because a Worker request body can’t hold it. A public copy is made only when a platform fetches it.

**Editor**

Live per-platform character counts and rules in the editor; output in 4 languages.

**Platform review**

Server-rendered privacy, terms and data-deletion pages, so the platforms’ reviewers see real text without JavaScript.

**Tests**

~200 test cases: encryption tamper detection, one-time-code lockout, sessions, slugging, content length rules, the publish runner and the portal.

## More work Same rules: numbers dated, names changed where a client asked.

[All case studies →](https://webrevolution.si/work/)

![Rebuilt mock of the Corvane Legal knowledge hub with its claim-check panel (name changed)](https://webrevolution.si/_astro/law-tile.DvzMQrwG_I1bRf.webp)

CLIENT · NAME CHANGED

1,100+ pages on the firm’s own domain

### [Corvane Legal: an AI content engine for a German law firm](https://webrevolution.si/work/law-firm-ai-content-engine/)

Every AI-rewritten claim checked against the source; anything unsupported waits for a lawyer. AI spend ~€33/mo.

- Content engine
- Edge Hub
- AI search

![Filyhost home page on desktop: “Drag and drop to upload. Share your link.”](https://webrevolution.si/_astro/filyhost-desktop.CNPIS7fm_16JTpV.webp)

OWN PRODUCT · LIVE ↗

Live and monetised in 3 weeks

### [Filyhost: a monetised file-handover SaaS, built solo](https://webrevolution.si/work/filyhost/)

Send links and client inboxes, a Stripe licence ladder, 8 edge rate limiters and a budget guard.

- SaaS
- Client portal
- Payments

![SitShape home page on desktop: “What shape do you sit in?” beside an isometric sofa drawing](https://webrevolution.si/_astro/sitshape-desktop.DhzKGA7D_Z3013u.webp)

OWN PRODUCT · LIVE ↗

Crawler compute 103 → 0

### [SitShape: a sofa-shape configurator and seller marketplace](https://webrevolution.si/work/sitshape/)

564 pre-rendered pages in 3 languages, 559 automated tests, sellers who never pay commission.

- Configurator
- Marketplace
- Static edge

This case maps to [Content Engine · Distribution Module](https://webrevolution.si/services/ai-content-distribution-engine/). The thinking behind builds like this: [field notes in Insights](https://webrevolution.si/insights/).

---

## Structured facts

The page's JSON-LD (schema.org), flattened to text.

### WebSite: WebRevolution.si
- url: https://webrevolution.si/
- inLanguage: en
- publisher: WebRevolution.si

### OnlineBusiness: WebRevolution.si
- alternateName: WebRevolution; webrevolution.si; WebRevolution SI
- url: https://webrevolution.si/
- logo: https://webrevolution.si/icon-512.png
- slogan: One man. An army of agents.
- description: One-man AI agency for B2B: AI-ready websites, AI content & distribution engines, AI agents and custom tools that AI assistants can find, cite and recommend.
- founder: Vegard Wikeby
- areaServed: Worldwide
- knowsAbout: Generative engine optimization; AI-ready websites; AI agents for business; AI content engines; Cloudflare Workers; Conversion rate optimization; Model Context Protocol
- contactPoint: ContactPoint (contactType: sales; url: https://webrevolution.si/contact/; availableLanguage: en)
- sameAs: https://www.linkedin.com/in/vegardwikeby; https://x.com/vegardwikeby

### Person: Vegard Wikeby
- url: https://webrevolution.si/about/
- jobTitle: Founder, WebRevolution.si
- worksFor: WebRevolution.si
- image: https://webrevolution.si/img/vegard-wikeby.jpg
- sameAs: https://www.linkedin.com/in/vegardwikeby; https://x.com/vegardwikeby
- knowsAbout: Web development; AI agents; Generative engine optimization; WordPress; E-commerce; Cloudflare

### BreadcrumbList
- Home › Work › Cuckoo

### Article: A week of on-brand posts, drafted by AI and approved from a phone
- url: https://webrevolution.si/work/cuckoo/
- mainEntityOfPage: https://webrevolution.si/work/cuckoo/
- inLanguage: en
- description: Cuckoo is my AI distribution engine, in pilot: a week of on-brand posts per channel, drafted with 4 AI providers and approved by the client from a phone.
- author: Vegard Wikeby
- publisher: WebRevolution.si
- isPartOf: WebRevolution.si
- datePublished: 2026-10-05
- dateModified: 2026-10-05
- image: https://webrevolution.si/og/work/cuckoo.png
- about: Service (name: AI Content & Distribution Engine; url: https://webrevolution.si/services/ai-content-distribution-engine/)
- mentions: SoftwareApplication (name: Cuckoo; applicationCategory: BusinessApplication)
