Home · Go-to-market systems · Case study

// a system I built for a brand's organic content

Find what works. Make more of it.

RECON · the research engine

RECON is a research engine that turns a brand's own data into tested organic content ideas. It reads two data streams, hands the best ideas to the marketing manager, and goes back and forth until you land the one worth making. Then it tests the idea, tracks the winners, and loops.

  1. 01 ▸Scoutread 2 data streams: net-new and proven
  2. 02 ▸Ideateturn the data into ranked ideas
  3. 03 ▸Agreemarketing manager and engine go back and forth to one final idea
  4. 04 ▸Testpublish it (gated) and measure the window
  5. 05 ▸Judgea winner clears the benchmark
  6. 06 ▸Loopwinners feed the next scout

Scroll to run. Every crate is one task automated.

The two engines

One data source, two jobs

Inside the company these are two separate engines that share the same data. One decides what to make. The other makes it. This page is about the first.

RECON This engine

The Researcher

Reads the data, finds what's working, and turns it into content ideas you test. It ends at a proven winner, then loops to find the next one.

reads dataideatestests and measuresranks winners

FORGE

The Creator

A separate, specialized engine. It generates the actual creative, on-brand images for ads and organic posts, from the same company data. Every output is approved by a person and editable by the marketing team.

gpt-imageImagenFluxIdeogramFireflyHiggsfield

See the FORGE breakdown ▸

◂ Shared data source ▸ The same proven-performance data feeds both. RECON uses it to decide what to make. FORGE uses it to make it.

Where the ideas come from

Two data streams, one short list of ideas

Stream A · net-new signal

What's breaking out

RECON goes into the platform and finds what's trending in your world, scoped by the industries, hashtags, topics, and signals you target. Fresh outside ideas, filtered down to what fits you.

Stream B · proven winners

What already worked for you

RECON pulls from your own track record: your best-performing organic posts and your best-performing ads. New ideas start from what your audience has already rewarded.

Both streams become a ranked short list of content ideas. The marketing manager reviews them, and RECON goes back and forth with them (accept, edit, combine, reject) until you land the final idea. Only then does it get tested. The engine suggests. A person decides.

The dashboard

Every test, in one view

RECON reports what it has learned on a live board: how many ideas are in flight, which cleared the bar, and which angles tend to win. The figures below are sample data.

RECON ▸ results● Sample data
42variants tested
11concepts
6winners
14%win rate

Tier distribution

Winner6
Runner-up9
Learning7
Testing12
Retire8

Top angles · reach-weighted

Angle A166
Angle B92
Angle C48
Angle D28
Angle E15

The loadout

Every layer is a slot you can swap

RECON is a set of jobs. Each has one role and a shortlist of tools that fill it, so you pick what you already run. Tap a chip to build your own loadout. The engine's code never changes, only the adapter behind each slot.

◂ Your loadout ▸

AI build agent: Claude CodeSocial platform: Meta Graph (IG/FB)Data source: Platform insights (direct)Content teardown: Your own Claude (vision)Task tracker: ClickUpDigital asset manager: IconikScheduled runner: GitHub ActionsSecrets manager: Google Secret Manager
Slot 01

AI build agent

The coding agent that builds and maintains the engine, docs-first and test-gated.

5 options · swap freely, the engine stays the same

Slot 02

Social platform

Where ideas get tested (published) and where performance is read back, plus the net-new signal scan. The one live dependency. Everything else is built and tested before it connects.

6 options · swap freely, the engine stays the same

Slot 03

Data source

The shared company data: your proven organic posts and ad results, normalized so the engine can tell what works from what doesn't. Direct from the platform, an aggregator, or an in-house dashboard on top of several.

7 options · swap freely, the engine stays the same

Slot 04

Content teardown

Turns a net-new trending video into frames and a spoken transcript, so the engine can read what makes it work, then propose a version for you.

7 options · swap freely, the engine stays the same

Slot 05

Task tracker

Where the engine files the final, approved idea as the next creative request for a person or editor to action.

10 options · swap freely, the engine stays the same

Slot 06

Digital asset manager

Where source media and finished assets are stored, versioned, and pulled from.

10 options · swap freely, the engine stays the same

Slot 07

Scheduled runner

Runs the daily cycle on a schedule, unattended. Nobody has to kick it off.

7 options · swap freely, the engine stays the same

Slot 08

Secrets manager

Holds API tokens and keys securely, out of the code and out of the repo.

8 options · swap freely, the engine stays the same

How I build

Seven moves that make it buildable offline

These sit on top of the same 8 steps I use for every build.

01

Repo is the memory

Living docs: a current-state handoff, an append-only decisions log, an open-questions list. The chat is disposable. The repo is the source of truth.

02

Build ahead of the blocker

Isolate the one live dependency behind an adapter and a sample-fed stub. Build and test everything else first.

03

A one-command gate

Every module ships a plain test. One command runs them all on sample data. Green is the bar, and no account access is needed.

04

Config over hardcode

Thresholds, routing, rate limits, and every human gate live in versioned config. The engine proposes. A person decides.

05

Safety is a layer

Publishing is the only outward write, gated with preview, approval, idempotency, and a kill switch. Every call is paced like a person would pace it.

06

A person approves

Every human touchpoint is listed with its owner and its path to automation, removed later by a config change, never a rebuild. Nothing goes live unapproved.

07

One clean increment

Commit only what the session touched, keep the gate green, and write every decision as Gap, Recommendation, Why.

build.log · sample result
# one idea, one measurement window:
WINNER  concept C-014 · variant V-03 · +4,120 shares · $0 spend (organic)
        → filed next-round request as ticket TASK-1042

Build order

Each stage ships on sample data

  1. Foundation: the data model, a structured ID convention, and the final "winner record."
  2. Ingest and analysis: pull both data streams, normalize them, and judge against the benchmark.
  3. Reporting: rollups plus the dashboard over the results.
  4. Publishing: the gated outward write and all its guardrails.
  5. Delegation: turn each final idea into the next work request in your task tracker.
  6. Adaptive benchmarks: the engine proposes threshold changes, and a person approves them.
  7. Discovery: the net-new signal stream: scan the market for the next ideas.

Replicate

Hand this to your agent

The whole method, as one brief. Paste it to your coding agent, fill in the brackets, and it builds RECON around the loadout you picked.

kickoff-brief.txt
# Build a research engine that turns a brand's data into organic
# content ideas, tests them, and tracks the winners.

TWO DATA STREAMS:
  A) net-new signal: scan the platform for what's trending in our
     industries / hashtags / target signals.
  B) proven winners: our own best organic posts + best-performing ads.
  Merge both into a ranked short list of content ideas.

HUMAN-IN-THE-LOOP: the marketing manager reviews the short list; the engine
  goes back and forth (accept / edit / combine / reject) to a FINAL idea.
  Only an approved idea gets tested. The engine suggests; a human decides.

WORK DOCS-FIRST, repo as memory: HANDOFF.md (state) · DECISIONS.md
  (append-only) · OPEN-QUESTIONS.md · ADRs. Read to start, update to end.

BUILD AHEAD OF THE BLOCKER: isolate the live dependency (the social platform
  API) behind an adapter + a sample-fed stub. Build + test everything offline.

MY LOADOUT (swap the adapter, never the engine):
  ai build agent        = <Claude Code>
  social platform       = <Meta Graph (IG/FB)>
  data source           = <Platform insights (direct)>
  content teardown      = <Your own Claude (vision)>
  task tracker          = <ClickUp>
  digital asset manager = <Iconik>
  scheduled runner      = <GitHub Actions>
  secrets manager       = <Google Secret Manager>

SHIP A TEST GATE: every module gets a plain, dependency-free test; one
  command runs them all on sample data. Green is the bar.

CONFIG OVER HARDCODE + SAFETY: thresholds, routing, rate limits and human
  gates in versioned config. Publishing is the ONLY outward write: preview,
  approval, idempotency, kill switch, and human-paced API calls.

DISCIPLINE: commit only this session's files, keep the gate green, surface
  every decision as Gap / Recommendation / Why.

Ideas backed by data. Winners on repeat.

RECON reads what already works, proposes the next idea, and only ships what a person signs off. Then it proves it and loops. It is built behind swappable adapters and verified on sample data, so the one live account is the last switch you flip.

Data-backed ideasA person decidesYou own itBuild offlineConnect last

Questions

Common questions

What does the content research engine do?

It reads two data streams, what is trending in your space and your own best organic posts and ads, and turns them into a ranked short list of content ideas. After a person picks the final idea, it tests it, tracks the winners on a dashboard, and feeds them into the next round.

How does a person stay in control?

The marketing manager reviews the short list and goes back and forth with the engine until there is one final idea. Only an approved idea gets tested. Publishing is the only outward action, and it needs a preview, an approval, and a kill switch.

What tools can it run on?

Each layer is a slot with a shortlist of tools, such as Meta, TikTok, or YouTube for the social platform, ClickUp, Asana, or Notion for tasks, and GitHub Actions or Cloudflare Workers to run it on a schedule. You pick what you already use. The engine stays the same.

How is RECON different from FORGE?

RECON is the researcher. It decides what to make. FORGE is its sibling engine, the brand creative system. It generates the actual creative, images for ads and organic posts, from the same company data, with every output approved by a person.

Can you build this for my brand?

Yes. Consulting starts at USD 50 an hour, and builds start at USD 1,500. The engine is built and tested on sample data first, and your live account is connected last.

Related systems

Where this fits

Request a quote

Request a quote.

Tell me the problem that eats your team's week. Answer the 8 steps below as best you can and skip the rest. I'll send you a plan for how I would fix it, with the tools you already use, and a price. Builds start at USD 1,500. Consulting starts at USD 50 an hour.

Workflows, automations, and code I build for clients are their company property, so I don't share them.

Quest log0 / 8 steps
03 Where does the data live?
04 What should start each run?
05 Which tools does your team use?
06 Any AI engine or platform you prefer?
Goes straight to Hazel. You get a reply by email.

Contact

Prefer email or LinkedIn?

Email me or send me a message on LinkedIn. I reply to every message.