Home · Go-to-market systems · Case study

// Forge · a system I build

The brand creative engine

FORGE · the brand creative system

Forge is a brand creative system: creative automation that turns one approved idea into on-brand paid ads and organic posts, in every size each platform needs. It builds from the company's own brand kit, data, and rules, and a person approves every image before anything ships. It is built and tested on sample data before a live account connects, and every tool in it is a swappable slot, so the business that runs it owns it. It is the sibling of Recon, the research engine that feeds it the ideas.

▸ Finds the ideaRECON
▸ Builds the creativeFORGE
  1. 01 ▸Brieftake an approved idea, from Recon or a person
  2. 02 ▸Buildgenerate on-brand variants in every size you need
  3. 03 ▸Approvea person picks the winner
  4. 04 ▸Shipdeliver it and file the next request

Scroll to run. Every crate is one task automated.

The loadout

Every layer is a slot you can swap

The engine 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 CodeBrief source: Recon handoffData and rules layer: Brand kit (files)Static ad image generator: OpenAI gpt-imageFormat presets: Paid ads and organic postsDigital asset manager: IconikTask tracker: ClickUpRuntime and host: Cloudflare WorkersSecrets 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

Brief source

Where the approved idea or request arrives. Point it at Recon to make the two engines talk, or at a task tracker or a chat box for a request from a person.

6 options · swap freely, the engine stays the same

Slot 03

Data and rules layer

The company data behind the ad: brand kit, proven winners, and what's working, normalized into one view so the engine builds on-brand every time. Direct from a platform, an aggregator, or an in-house dashboard on top of several.

7 options · swap freely, the engine stays the same

Slot 04

Static ad image generator

Generates on-brand image variants for ads and organic posts from company data. Every image is approved by a person and can be edited by the marketing manager or copywriter before it ships. The build and rules are tested offline first. The paid call is the last switch you flip.

10 options · swap freely, the engine stays the same

Slot 05

Format presets

Which sizes and placements the engine builds for each idea. Paid ads add text-safe zones and stricter claim checks. Organic posts follow each feed and grid. Presets live in config, so a new platform is a new preset, not a rebuild.

4 options · swap freely, the engine stays the same

Slot 06

Digital asset manager

Where brand photos and finished ads are stored, versioned, and pulled from.

10 options · swap freely, the engine stays the same

Slot 07

Task tracker

Where the engine files the approved asset as the next step for a person or editor to action.

10 options · swap freely, the engine stays the same

Slot 08

Runtime and host

Where the app runs and where people reach it. It runs on request, not on a schedule: a marketer opens it and asks, and the host keeps the keys on the server.

6 options · swap freely, the engine stays the same

Slot 09

Secrets manager

Holds API tokens and keys securely, out of the code and out of the repo, used on the server on the user's behalf.

8 options · swap freely, the engine stays the same

Sizes and placements

One idea, every size it needs

These presets are built into the generator. Each one sets the size, the shape, and where text is safe. Paid ads also get stricter claim checks. Tap a preset to see its shape.

1080 × 1350 · 4:5

Meta feed (Facebook, Instagram)

 

Paid ads

Organic posts

Specs checked in October 2026. Platforms change them, so they live in config and are re-checked against each platform's guide before a campaign.

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 live dependencies, the paid image provider and the asset-manager write, behind adapters and sample-fed stubs. Build and test everything else first.

03

A one-command gate

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

04

Config over hardcode

Brand rules, layout specs, cost ceilings, and every human gate live in versioned config. The engine proposes. A person decides.

05

Safety is a layer

Delivery is the only outward write, gated with preview, approval, idempotency, a kill switch, and a cost cap on every paid call.

06

A person approves

Every ad is reviewed before it ships, and a marketing manager or copywriter can edit it. Each human step has an owner and a path to automation by a config change, never a rebuild.

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 brief, one review round:
APPROVED  concept C-014 · variant V-03 · on-brand ✓ wordmark ✓ face-safe ✓
          → delivered to asset manager · filed next request as TASK-1042

Build order

Each stage ships on sample data

  1. Foundation: the data model, an asset ID convention, and the final "approved-asset record."
  2. Ingest: pull the brand kit, proven winners, and rules, then normalize them into one view the engine reads.
  3. Generation: on-brand variants behind the image adapter, in every size preset, run on sample briefs first.
  4. Compose and QA: layout, brand rules, text-safe zones per placement, claim checks for ads, and a review packet a person signs off.
  5. Delivery: the gated outward write to the asset manager, with all its guardrails.
  6. Delegation: file the approved asset as the next request in your task tracker.
  7. Feedback: winners update the rules and feed Recon for the next idea.

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 the engine around the loadout you picked above.

forge-kickoff-brief.txt
# Build FORGE: a brand creative system for paid ads and organic posts (sibling of RECON, the research engine).

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

DECOMPOSE into stages: foundation → ingest → generation → compose/QA →
  delivery → delegation → feedback. One scoped topic per session.

FORMAT PRESETS: every size and placement (feed, story, reel, display, pin,
  thumbnail) is a config preset with its own text-safe zone. Paid ads get
  stricter claim checks than organic posts.

BUILD AHEAD OF THE BLOCKER: isolate the live dependencies (the paid image
  provider + the asset-manager write) behind adapters + sample-fed stubs.
  Build + test everything else offline first. Every human step is a config-removable slot.

MY LOADOUT (swap the adapter, never the engine):
  ai build agent            = <Claude Code>
  brief source              = <Recon handoff>
  data and rules layer      = <Brand kit (files)>
  static ad image generator = <OpenAI gpt-image>
  format presets            = <Paid ads and organic posts>
  digital asset manager     = <Iconik>
  task tracker              = <ClickUp>
  runtime and host          = <Cloudflare Workers>
  secrets manager           = <Google Secret Manager>
  (every generated image is human-approved)

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: brand rules, layout specs, cost ceilings, routing,
  and every human gate live in versioned config.

SAFETY: delivery is the ONLY outward write, gated with preview, human
  approval, idempotency, kill switch, and a cost cap on every paid call.

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

On brand, every size, approved before it ships.

It is built behind swappable adapters, checked by a one-command gate, and remembered in the repo, so the whole engine runs on sample briefs long before it touches a paid account. You own every piece, a person approves what ships, and the only thing left to flip is the live switch.

Build offlineVerify offlineYou own itA person approvesConnect last

Quick answers

Common questions

What is a brand creative system?

It is creative automation for a brand's images. You give it an approved idea, and it builds on-brand images for paid ads and organic posts from the company's own brand kit, data, and rules, in every size each platform needs. A person approves every image before anything ships.

What is creative automation?

Creative automation means software makes the repeat parts of design work, such as resizing, versions, and brand checks, so the team spends its time on ideas and approval instead of production.

Does it make ads or organic posts?

Both. The engine is the same. Format presets set the sizes and placements, text-safe zones, and review rules. Paid ads get stricter claim checks than organic posts.

Which sizes and placements can it build?

Meta feed, Stories, and Reels; Google Demand Gen and Performance Max; LinkedIn; Instagram feed and grid; TikTok photos; Facebook, X, Threads, and Pinterest posts; and YouTube thumbnails. Specs are stored in config and checked against each platform guide before a campaign.

How does Forge work with Recon?

Recon is the research engine. It finds and tests the idea. Forge is the brand creative system. It takes the approved idea and builds the images. Both read the same company data, and Forge sends its winners back to Recon for the next round.

Do I need these exact tools?

No. Every layer is a slot with a shortlist of tools, such as gpt-image, Imagen, or Flux for images, and ClickUp, Asana, or Notion for tasks. You pick what you already use. The engine stays the same.

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 briefs first, and your paid image account is connected last.

Related

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.