Systems / Creator OS

01 — Thesis

I wasn't building another video generator.

I was designing the decision system that comes before generation.

ProductCreator OS
DisciplineAI product design · systems thinking · 0→1
StagePhase 0–1 · product specification · 2026
RoleProduct definition, IA, system architecture, design system
BrandShips under Tentacles →
Scroll to follow the derivation
ChatGPTPinterest / TikTokMidjourney / CanvaKling / SeedanceCapCut / PremiereNotion / SheetsBRIEFBRAND READ3 DIRECTIONSAPPROVALPACKAGECREATOR OSDECISION SYSTEMEVERY TOOL GENERATES.NONE OF THEM DECIDES.BRIEFBRAND READ3 DIRECTIONSAPPROVALPACKAGECREATOR OSDECISION SYSTEM
02 — The gap

The problem was never generation.

The user I designed for is one person holding three jobs: brand owner, creative director, production coordinator. They do not lack generation tools. They lack a place where the creative judgment happens — so it happens in six browser tabs, and nothing remembers it.

01
ChatGPT
ideas, copy
02
Pinterest / TikTok
references
03
Midjourney / Canva
stills, layout
04
Kling / Seedance
motion
05
CapCut / Premiere
assembly
06
Notion / Sheets
whatever is left
FAULT 01
Context is scattered
Across chats, saved links, docs, prompts, image folders. Nothing is the source of truth.
FAULT 02
Creative choices lack structure
Candidates end up as visual variants of one idea, not genuinely different bets.
FAULT 03
Visual consistency drifts
Brand language, texture, pacing and asset sources decay across the production chain.
FAULT 04
Cost is invisible
Direction is chosen without knowing what producing it will actually take.
FAULT 05
Approval leaves no trace
Why one direction won — and why two lost — survives only in chat history.

Each tool can generate an output.
None of them owns the creative decision.

03 — Reframe

The most important product decision was made before any architecture.

Everything downstream — the pages, the objects, the agent roles, the schemas — follows from moving the starting verb. This is one sentence of product judgment, and it is the reason the system looks the way it does.

Don't begin with “Generate video.”
Begin with “Choose what is worth producing.”
IN
A vague product idea
01
Brand & audience understanding
02
Three distinct creative directions
03
Human selection — recorded, versioned, explainable
04
An executable production package
OUT
Handoff into the tools they already use
04 — The loop

The minimum valuable loop.

Five steps. Each one answers the same five questions: what the user brings, what the system determines, what the user decides, what artifact survives, and why that step cannot collapse into a single generate button. If a step fails that last question, it does not belong in the loop.

One node active at a time — as in the workflow graph itself.
01

Product Brief

User provides
Product source or site, product images, platform and format, the ad goal, a light brand description, budget and production preference.
System determines
Whether the brief is generatable at all — which required fields are missing, and which specific field to point at.
User decides
What this ad is actually for. Not the visuals — the intended change in the viewer.
Artifact
Brief Draft → Approved
Why not a button
A missing goal does not produce a worse ad, it produces an unanswerable one. Generation is blocked until the brief is valid, and the error names the field.
02

Brand & Audience Read

User provides
Corrections. The read is a draft the user is expected to argue with.
System determines
A deliberately lightweight summary — positioning, audience, voice, visual rules, motion rules — from the site, images and description.
User decides
Whether this read is accurate enough to build three directions on top of.
Artifact
BrandRead confirmed before generation
Why not a button
A wrong brand read poisons all three directions identically, and the user cannot tell why they are all slightly off. If the site cannot be read, the system says so and switches to manual entry — it never guesses quietly.
03

Three Creative Directions

User provides
Nothing. This is the system’s turn, and it should feel like one.
System determines
Exactly three comparable directions. Each carries message angle, story structure, visual language, motion language, emotional tone, rationale, cost and production difficulty — on shared axes, so they can be read against each other.
User decides
Not yet. Comparison comes before commitment.
Artifact
CreativeDirection ×3 + similarity warning
Why not a button
Three is a product decision, not a parameter. Two is a coin flip; five is a menu. And the real failure mode is not a bad direction — it is three visual variants of the same idea. That check is deterministic, so it belongs in code, not in the model.
04

Human Approval

User provides
Select, mix, edit or regenerate — and optionally a revision note.
System determines
What changed, which version this becomes, and — for a mix — which element came from which candidate, so the result is still explainable.
User decides
The one direction worth producing, and implicitly why the other two were rejected.
Artifact
Approval → immutable Direction version
Why not a button
This is the whole product. Approval is a node in the graph with an actor, a target version and a timestamp — not a message in a chat log. “Approved” is a state on a version, never an object-level boolean that can quietly drift.
05

Production Package

User provides
Edits, and retries on the specific parts that failed.
System determines
A 15–30 second script, a 6–8 shot storyboard, an asset plan, a production plan and a cost estimate — all inheriting the approved direction’s visual and motion language.
User decides
What actually leaves the system and enters their existing production tools.
Artifact
ProductionPackage → Export fixed set of versions
Why not a button
Because failure is partial. If the storyboard fails, the approved script must survive; you retry one node, not the run. An export that cannot be traced back to the approved direction is not a handoff — it is a fresh guess with better formatting.
05 — Derivation

Designing the product from the inside out.

Five artifacts, produced in order, each one answering a question the previous one raised. They are shown here as a chain rather than a gallery, because the point is not that the diagrams exist — it is that each decision closed off options for the next.

I

User Flow

Question

How does a user get from a vague idea to an approved plan?

Decision

Insert two feedback loops that cannot be skipped: confirm the brand read, and approve a direction. Everything else may be fast; these two are deliberately not.

Brief
Brand read
Accurate?
3 directions
Approved?
Script + storyboard
Export
Loop back Insufficient info → request site, images or brand description
Loop back Directions too similar → regenerate with stronger contrast
Consequence

Approval stopped being a conversational moment and became a system node with its own state, actor and version — which is what forced the entire versioning model later.

II

Sitemap

Question

Which pages are genuinely MVP, and which are ambition?

Decision

Five shipping areas. Agents, Workflows, Cost Center, Analytics, Publishing and Teams keep their address in the information architecture — and ship as nothing.

Creator OS
Onboarding
Command Center
Projects
Brand
Settings
Later / non-MVP
Project list
New brief
Project workspace
Agents
Workflows
Cost Center
Analytics
Publishing
Brand summary
Creative directions
Production package
Export / handoff
Versions
Consequence

Deferred capability still has a boundary. Phase 2 lands in a slot that already exists instead of forcing a re-architecture — and the MVP navigation stays about project state, not about a list of agents.

III

Information Architecture

Question

What does each page show, and where does every field come from?

Decision

Tag the origin of every single field: U user-created, I imported, S system-generated, D derived. No field is allowed to be untagged.

Brand Profile
  • UIdentity
  • IAudience
  • SVoice summary
  • UDo / Don't
New Brief
  • UProduct source
  • UGoal
  • IProduct images
  • SBrief summary
Direction Board
  • SDirection ×3
  • SAngle · structure
  • DCost · difficulty
  • USelect / mix / edit
Workspace
  • SScript
  • SStoryboard
  • UApproval
  • DArtifact versions
Command Center
  • DStatus
  • DNext action
  • DPending approval
  • DBudget
Consequence

The tags decided the interface. U needs editing affordances, S needs provenance and a correct-me path, D must never be editable — and anything the user corrected must never be silently overwritten by a later generation.

IV

Component Tree

Question

How do product responsibilities map onto interface components?

Decision

Split every component by what it is allowed to do — fetch and orchestrate, mutate, or present — and define the shared state vocabulary exactly once.

FFetch / orchestrate
  • CommandCenterPage
  • CreativeDirectionsPage
  • ProjectWorkspacePage
MMutate
  • BriefForm
  • SelectMixEditActions
  • DirectionApprovalBar
  • ScriptEditor
PPresent
  • DirectionCard ×3
  • StoryboardGrid
  • CreativeDNADetails
Defined once, reused everywhere
StatusBadgeArtifactViewerApprovalControlCostBadgeVersionSwitcherEmpty / Loading / Error
Consequence

The Command Center and the Project Workspace cannot disagree about what “approved”, “running” or “failed” look like. One definition of state, two surfaces — which is the only reason a status overview page is trustworthy.

V

System Architecture

Question

How do generation, validation, cost and artifacts actually flow?

Decision

A fixed workflow graph behind a job queue, with every model call passing through one gateway that validates structured output before anything is written as a business object.

Client
Next.js appQuery cache · draft stateSigned upload
Application
Server routesCore service — brand · project · brief · direction · approval · cost
Execution
Job queueWorkflow worker — fixed graph · context pack · node runner · cost logger
Data
PostgreSQL — runs · approvals · cost eventsObject storage — assets · artifacts · exports
External
Auth providerText model API via gateway contract
Outside the boundary Media generation and final edit stay in the user's existing tools.
Deferred Temporal, Redis, vector DB, analytics, publishing — only after the core loop is validated.
Consequence

Vendors stay replaceable, cost is recorded per node rather than per session, and a failed run resumes from the failed node instead of restarting — which is what makes partial failure survivable in the interface.

06 — Division of labour

Agents where judgment is needed. Code where rules are enough.

The interesting claim is not that Creator OS uses several agents. It is that half of the chain deliberately isn't one. Choosing three mutually exclusive message angles is a rule. Checking whether the three directions are actually different is a rule. Handing either to a model buys unpredictability and pays for it twice.

Model role
Brand Reader
Reads site, images and description into a structured brand and audience summary.
Deterministic
Angle Selector
Picks three mutually exclusive message angles from a defined space. No model needed to enforce exclusivity.
Model role ×3
Direction Writer
Writes one direction per assigned angle — never all three in one call, so they cannot converge.
Deterministic
Set Validator
Measures difference across the set. Too similar is a failed check, not a matter of taste.
Model role
Scriptwriter
Writes 15–30 seconds against the approved direction only.
Model role
Storyboarder
Breaks the script into 6–8 shots, inheriting visual and motion language.

An agent is a role, not a model.
A rule is code, not an agent.

07 — Contracts

Contracts before orchestration.

Before any node was wired, each one got an explicit input contract. A workflow node never receives raw conversation history — it receives a context pack containing exactly what it needs, including what it is forbidden to use.

ContextPackdirection_writer · node 03
task: "write_direction"
brief: Brief@v2
brand_read: BrandRead@v1
assigned_angle: "origin_story"
angle_definition:
  // what this angle may claim,
  // and what it must not borrow
excluded_values:
  - "transformation"   // angle 02
  - "social_proof"     // angle 03
output_schema: CreativeDirection.v1
The exclusions are the mechanism. Each writer is told what the other two own, which is why the set stays different without a model being asked to “be creative.”
Versioned objects passed between nodes
BriefProduct source, goal, audience, platform, budget. Draft → approved.
BrandReadPositioning, audience, voice, visual and motion rules. Correctable.
CreativeDirectionAngle, structure, visual language, motion language, tone, cost, difficulty.
ApprovalActor, target version, timestamp, revision note. The gate itself.
ProductionPackageScript, storyboard, asset plan, production plan, cost estimate.
Artifact · VersionContent, type, status, source run and node, parent version.
CostEventActual model spend per node — separate from the estimate shown to the user.

The system does not pass conversations around.
It passes explicit, versioned contracts.

08 — Interface

From architecture to interface.

The Direction Board is where the whole argument has to survive contact with a screen. Three directions, one set of comparison axes, cost visible before commitment, and an approval control that is unmistakably a decision rather than a next button.

Projects / Cold-brew launch / Directions
3 of 3 generatedEst.42%
Sourceoatandember.co
PlatformInstagram Reel · 9:16
Duration15–30s
GoalFirst-time trial
AudienceHome brewers, 25–34
Budget modeLow · stills-led
Brand readQuiet, process-obsessed, materials-forward. Warm neutrals, hand and product close-ups, no lifestyle stock.Corrected by user · v2
AAngle · Origin
The 14-hour night
Structure
Process → reveal → claim
Visual
Macro stills, low key, steam
Motion
Slow push-ins, one cut per beat
Tone
Patient, unhurried
≈ $6Difficulty low
BAngle · TransformationSelected
Bad coffee, solved at 6am
Structure
Problem → turn → proof
Visual
Kitchen-real, handheld frames
Motion
Fast open, settle on product
Tone
Dry, a little funny
≈ $11Difficulty medium
CAngle · Social proof
Everyone’s second bottle
Structure
Voices → pattern → claim
Visual
Text-forward, product inserts
Motion
Cut-driven, typographic
Tone
Direct, plainspoken
≈ $4Difficulty low
ComparisonThree angles are mutually exclusive — difference check passed.
MixEditRegenerateApprove direction B
Approving locks Direction B@v2. Later edits create a new version — the approved one is never overwritten.
Current

The Phase 1 direction board is implemented — brief capture, brand read, three-direction generation and comparison.

Not yet validated

Real API evaluation, persistence and tester measurement. No baseline for “selects a direction in one session” exists yet.

Specified, not built

Script, storyboard and the production workspace are defined in the Phase 2 scope. They are a plan, not a claim.

09 — System

A design system for creative operations.

The Abyssal Instrument System is not a palette. Each of its three rules encodes something the product needs to communicate constantly: how committed this work is, who authored it, and what the machine is currently doing.

P01

Depth represents production commitment

Surfaces darken and settle as work becomes real. A draft floats near the field; an approved direction sits on the deepest, most stable plane. Depth is never decorative.

P02

Serif expresses creative intent

Anything a human authored, chose or argued for is set in serif. It is the voice of judgment, and it appears nowhere else.

P03

Mono communicates system state

Status, version, cost, run and node are monospace. You should always be able to tell who is speaking — the person or the machine — from the typeface alone.

Decision geometry

Shape follows responsibility.

Geometry is a second information channel: inputs contain, reads interpret, directions diverge, approvals gate, and packages leave the system.

Briefcontain
Brand Readinterpret
Directionsdiverge
Approvalgate
Packagehandoff
Semantic colour
Abyss#040608Field · uncommitted space
Ink#E6EDF3Content authored or confirmed
Aqua#2FFFC2Current · running · system speaking
Volt#D6FF3DSelected · approved · human decision
Amber#E7B85ACommitted · needs attention
Red#FF6A4DBlocked · failed step
Depth ruler
00Field — nothing committed
01Panel — working surface
02Card — a candidate
03Selected — under consideration
04Approved — locked version
State vocabulary
IdleRunningNeeds reviewApproved v2Failed · retry node
Estimate, not a bill
$11.40 est. / $27.00 capEvery cost figure carries its assumptions and generation method, or it cannot be used to choose a direction.
Motion rules
  • DRAWConnections draw on entry — cause before effect.
  • PULSEOnly the running node breathes. Deterministic nodes never animate.
  • REVEALDiagrams appear by hierarchy, never all at once.
  • HOLDNo floating cards, no particles, no glitch. Motion explains flow and state, nothing else.
  • STATICUnder prefers-reduced-motion, every diagram renders complete and still.
10 — Shifts

What changed through the process.

Not lessons. Three positions I held at the start of this project and no longer hold.

01From generationTo creative decision

The scarce thing is not output. It is knowing which output is worth producing, and being able to say why.

02From promptsTo contracts

A prompt is a hope. A context pack with an output schema and a list of excluded values is a specification you can test.

03From autonomous AITo visible human approval

Removing the human from the loop was never the goal. Making their judgment addressable — versioned, referenced, replayable — was.

Creator OS is not complete when a video is generated.
It is complete when every creative decision is traceable, approved and executable.

11 — Branding

Ships under Tentacles.

Creator OS carries the Tentacles identity — a scythe-blade triskelion mark built on one core color system. The same instrument that defines the product's design language above is drawn from this wider brand.

Creator OS ships under Tentacles — a scythe-blade triskelion mark built on one core color system: abyss, sea salt, lagoon teal, and a single volt-lime signal. One core. Infinite extensions.

View full brand system →
Case studyCreator OS — Phase 0–1
Source artifactsSix-stage deliverables, authored in Excalidraw and re-drawn here as semantic HTML
DocumentationInternal product, interface and data specifications remain private
TypeInstrument Serif · IBM Plex Sans · IBM Plex Mono