The AI-native operating system that replaces operational headcount.
Existing software is built for humans to operate, with AI added as a feature. That makes people faster; it never makes them fewer. Warroom executes the workflow itself — the operator sets intent, approves what cannot be decided without them, and the schedule runs forward.
It was built to run one company. It is now a product that runs on its own — and the whole build is on this page, including the parts that broke.
59 seconds, no voice-over. Every figure in it is the same figure on this page, read from the production API and the repository on 31 August 2026.
Software made your team faster. It never made them fewer.
Every tool you already pay for assumes a person is driving it. Add AI to that and you get a person driving it slightly faster. The headcount stays, because the work between the tools — deciding what happens next, chasing what did not happen, checking that it actually went out — was never in any tool to begin with.
| The queue | Work sits waiting for one person to notice it. Nothing is broken, so nothing raises an alarm. You find out at the point it was supposed to have already gone out. |
| The handoff | Half of every process lives in someone's head. When they are away, the process is away. That is not a documentation problem — documents do not chase anyone. |
| The false green | A dashboard that shows a task complete when the call returned 200 and nothing happened. Silent success is the failure mode that costs the most, because you stop looking. |
Four layers, one engine.
Warroom is not a social scheduler with AI bolted on. It is an execution graph with a governance layer, and distribution is only one of the things it can reach. The same engine runs the routine operating work of a company — quotes, follow-ups, reconciliation — because that is what it was built to do first.
| Interface | Chat, decision cards on the operator's phone, a web console, or the customer's own agent over MCP. |
| Agent | One per tenant: model, tools, config, policy. Token modes: fully managed, bring-your-own-key, or MCP. |
| Tools | MCP-native and tenant-bound. This is where the guardrails live — because we do not control the customer's agent. |
| Capability | Distribution, auto-cut, carousel generation, messaging automations, the rule engine, analytics. |
Not a flowchart. A tree that grows.
Every piece of work I do hangs off one tree: a goal at the top, decomposed into a handful of pipelines, decomposed again into steps. Each step is one of four kinds of node — and knowing which kind it is decides who does it, what it costs, and whether it can be trusted to run alone.
| ⚙️ Execution | The system runs it. If it can be done without a model, it is done without a model — deterministic, repeatable, and close to free. |
| 📏 Criteria | A threshold check against rules and data: did this piece clear its save rate? That question does not need intelligence. It needs a standard. |
| 🧍 Judgement | The only place a human appears: approve, discuss, decide. The goal is to compress my week down to a few dozen minutes — and for all of them to be decisions only I can make. |
| 🧠 Knowledge | A model is used where judgement is genuinely required, and every conversation, metric and correction is written back — so the next run starts better informed than this one. |
The workflow is executed by the system.
The human sets intent and approves.
| Plan | A revenue target is decomposed backwards into a weekly quota — price point, close rate, booking rate, leads per asset — with every assumption labelled default, industry or measured. |
| Produce | Long-form assets are cut into platform-native pieces with covers, titles, captions and first comments. |
| Gate | Every asset passes a quality check before it can be scheduled. Hook missing, an open-ended question as the primary CTA, a claim with no matching visual, a lead magnet whose file does not yet exist — each is a block, not a warning. |
| Publish | Instagram, YouTube, TikTok, Threads and Facebook, on schedule, with per-platform metadata. |
| Capture | Keyword-triggered messaging delivers the asset, optionally behind a follow gate, and writes the contact into the database with full attribution. |
| Learn | Per-post metrics are snapshotted every six hours and scored against thresholds. What the data changes, it changes in the rules — not in someone's memory. |
Autonomy without an audit trail is unsellable to a business. Warroom was built approval-first because its first operator was personally liable for everything it published.
The model is not the moat. The rules are.
78 rules are live in production today, inherited across three layers. System rules are the operating principles every tenant gets. Industry rules are the ones that keep a business legal — medical aesthetics, food and beverage, and creator-economy compliance ship as separate rule packs. Personal rules are what a specific operator has decided, accumulated one decision at a time.
Rules are versioned with history, never overwritten. Every change records what changed, why, and who signed it off — so a rule can be rolled back, and so the accumulated judgement is an asset rather than a habit.
Your know-how becomes an asset you can carry.
The three rule layers are not only inherited downwards — the top two can be packaged and handed on. Once I had run creator-economy operations end to end, that configuration was itself a product: the pipelines, the thresholds, the rules that keep it legal, lifted out as a pack someone else can install. Thresholds arrive labelled assumed until their operation earns real ones, because the moat is in the numbers, not in the shape of the tree.
Installing a pack copies it. It does not subscribe to it — a seller revising their template must never reach into a line a buyer already has running.
I do not promise full automation.
There is no such thing as a fully automated AI tool, and chasing one is how you end up with a system quietly doing the wrong thing where nobody is watching. Warroom inverts it: the model's first job is to work out which parts it should take over and which parts genuinely need a person. What needs a person becomes a queue on my phone. I answer in one word — approve, revise, stop — and the day is fought.
Describe your process out loud. That is the build step.
You do not need to write code. You have a process already — so say it. Talk your workflow through and the system separates it out for you: which steps a model can take over, which are threshold checks against a standard, and which need you to nod. What comes back is a draft. You add and remove as the work actually runs, and from then on the pipeline grows with you.
In development. Listed here because this log records what is being built, not only what has shipped.
Publishing is irreversible. The system is built around that.
Missing a post costs you one post. Publishing twice costs you the account's credibility, and cannot be undone — it has already been pushed, already been seen. Every trade-off in the reliability contract falls the same way: rather miss and alert than repeat.
| No retries | Any call that creates something on a platform runs exactly once. A timeout is not a failure — the platform may have finished in the background. |
| Unconfirmed | Timeouts enter a first-class unconfirmed state — not failed, not published. It is skipped by the retry sweep and escalated to a human, never silently retried. |
| No rollback | Once a post is out, every downstream error path can only go forward: log and alert. It can never route back to republish. |
| Honest gaps | When a data source fails, the system withholds the diagnosis rather than defaulting to zero — because a failed query looks exactly like “you did nothing”, and would confidently tell the customer to try harder. |
Not a mockup. The console, this morning.
Captured from the production system on 31 August 2026. The interface is in Traditional Chinese because its first operator is in Taipei; the English descriptions below each capture explain what is on screen.




Where it stands today
In continuous production since 17 Jul 2026 · 45 days, no rollback
Two revenue lines. Both bootstrapped.
It no longer needs me to run.
Warroom started as the system I built to run my own company without hiring the team I could not afford. That is no longer what it is. Every part of it that used to assume a single operator has been pulled apart into something a stranger can own.
| Its own tenant | Identity is derived from the credential, never claimed by the caller. Every record, every list, every by-id operation is scoped. Verified with an isolation suite, because the five worst bugs we found were all correct with one tenant and catastrophic with two. |
| Its own accounts | A customer connects their own platform accounts through a white-labelled flow and holds their own authorisation. Nothing publishes through ours. |
| Its own rules | System rules are inherited. Industry packs are chosen. Personal rules are written by the operator through conversation, versioned, and never overwritten by a template. |
| Its own agent | Fully managed, bring-your-own-key, or bring-your-own-agent over MCP. If a customer points their own model at it, the guardrails still hold — because they live in the tool layer on our side, not in their prompt. |
| Its own money | Plan and quota model and the payment adapter are in. Automated provisioning is the remaining step before a stranger can buy it without me in the loop. Q4 2026. |
Priced on judgement, not on account count.
Charging per connected account is the matrix-account curve — high volume, low care per post. Our customers run five to eight accounts and care about every one of them.
There are no tiers. We sell judgement — the refusal to publish a piece that fails the gate — and judgement does not come in a thirty-piece version and a four-hundred-piece version. Tiering would make you ask the wrong question: how much judgement do I need? The quotas exist, but as ceilings against abuse, set where almost nobody reaches them.
Card details are entered on the payment provider's page, never ours. Provisioning is automatic: pay, and the console is open with your key on the next screen. Fourteen-day trial on every tier — we do not do refunds, we do a trial.
- Scheduling across Instagram, Facebook, Threads, TikTok and YouTube
- A quality gate that blocks — not warns — when a piece fails it
- Decision cards on your phone; a thirteen-day batch approved in 48 seconds
- Content production: long-form cut into platform-native pieces
- Adversarial critique before you publish, not after
- Comment keyword to auto-DM, with an optional follow gate
- A daily brief that tells you what today is for, and why
- Every assumption in your plan labelled measured or assumed
Start with the workflow that costs you the most time.
Bring one process you currently run by hand. We map it into the tree, mark which steps need your judgement and which do not, and you see it execute before you decide anything else. No deck, no discovery phase.
Every plan starts with a 14-day trial and no card. Operators are onboarded by hand today — that is a deliberate constraint while the self-serve flow is finished, not a queue.
The roadmap, on the record.
A page that only lists what works reads like marketing. These four are in flight right now, with the same wording they carry in our own work orders — so you can hold us to the dates.
| Self-serve | Tenant isolation is built and verified. The plan model and payment adapter are in. Automated provisioning and the onboarding conversation are not — today a new operator is set up by hand. Q4 2026. |
| AI replies | The classification layer that routes an inbound message to auto-reply, warm-reply or the founder is built and running in shadow mode. Deterministic keyword automations are what is live and sending today. |
| Editing | The conversation layer accepts edit requests and stores them, and says plainly that it has not executed them yet. The cutting engine is defined at the interface but not connected. |
| Provider layer | Distribution currently runs through a single execution partner. The abstraction that lets us replace it is specified but deliberately not implemented until there is scale to justify it. |
Still shipping. Every day since July.
This is the engineering record, not a highlight reel. Every entry is dated from the repository and the production database — the days it grew, the days it shipped, and the days it broke. The broken entries are here on purpose. A system you are going to run your business on should be judged on what happened when it went wrong, and anyone deciding whether to trust it deserves to see the same log I do.
Fourteen days of production, scheduled with its reasoning attached
The full fourteen-day content line went into the war room, every slot carrying its judgement card — layer, audience, hook, CTA, metric. The product canon was settled in three parts: the node typology, the judgement queue on the phone, and workflows anyone can adopt. Twelve engineering tickets opened off the back of it.
The content methodology stopped being a document and became rules
Two rules went to version — how a topic is chosen, and the lifecycle a piece moves through — distilled from 166 competitor videos taken apart frame by frame. The reference library went in as retrievable intel. The methodology is no longer something I have to remember before I write.
It ran a day I was not in
The first batch of future-dated work fired on its own: Threads, TikTok and YouTube, zero failures, no one at the keyboard. Up to this point the system executed today. From here it runs forward.
Thirteen days, three platforms, one approval
Queued thirteen days of content across three platforms in a single operation. My total decision time for the batch was 48 seconds, from a phone. The fix that made it possible was unglamorous: media URLs were time-limited signatures that expired before a future-dated job ever ran. Changed to public URLs; the decision-card covers had the same bug, because a card lives 24 hours and a 12-hour signature does not.
An error message that said nothing
The dispatch sweep was failing with an empty error string and was not wired into the retry path that already existed. Silent failure is the expensive kind — you do not go looking for what does not complain.
A job had been sitting there for sixteen days
Added detection for approved work that never got scheduled, and immediately found one that had been orphaned for sixteen days. Same day: an adversarial test found a read-write race in the job log, so appends became atomic. Also shipped outbound link tracking and stall detection — if I stop publishing, the system is now supposed to say so.
The longest day — twenty-seven commits
Three things at once. Multi-tenant isolation: identity derived from the credential rather than claimed by the caller, ownership checks on every by-id operation, and five leaks closed that were all correct with one tenant and catastrophic with two. Rule layering: architecture / industry / personal, with enforcement levels. And the coaching loop — the revenue path decomposition, the decision cards you can argue with instead of only approving.
Read a competitor's entire codebase, took the specification and none of the code
Spent a day inside an open-source scheduler to learn how it survives in production. Took two things: never auto-retry anything with a side effect, and a timeout means unknown, not failed. Wrote both into a reliability contract that is deliberately engine-agnostic. Took no code — the licence would have cost us the company, and the specification was the valuable part anyway.
The editing tool became a product
The auto-cut tool I had been using privately went out as its own release. The post announcing it — 'who edits Bear's videos? nobody, a tool I wrote does' — ran at 18.6% engagement. The product and the marketing for the product were the same object.
The calendar was lying
A partial failure was reporting as a success, statuses were loose strings instead of an enum, and the calendar was showing work as done that had not gone out. Fixed all three. A dashboard that flatters you is worse than no dashboard.
A false green light
The quality gate calls a model to check five things. When the model returned only three, the missing two were being counted as passes. A check that silently approves is worse than no check. Now a partial answer routes to a human, and there is a test holding that behaviour in place.
The console stopped being a wall of tables
Sixteen commits rebuilding the interface around one question — what do I do today — and adding the automatic data layer underneath it: metrics on a schedule, insights generated overnight, and a source badge on every number so you can see whether a machine, an agent or a human put it there.
30,040 reach, 3,708 comments
'I'm a business owner. I don't sell courses.' The system delivered the asset to every one of those comments automatically. This is the week the list started building itself.
The single source of truth
Twenty commits in a day. Plan, tasks, rules, intel and a three-state inbox all became one place, with a sync protocol on top. Agents got a rule from the first commit of this layer: what is not written back did not happen. And the handoff bus went in, so two agents could pass work between themselves and only escalate to me.
First commit, 06:25
Warroom OS v0 — a thin orchestration layer over distribution: jobs, approvals, a daily brief, and decision cards delivered to my phone. 622 lines. The first production dispatch went out the same day.
55,675 reach
'One person, ten months, eight figures in revenue.' 1,347 comments. This was the post that proved the thesis was worth telling — and made the manual work of answering it impossible, which is what forced the next four weeks of building.
Day one
The first post published under the system, rather than by me. Everything on this page is downstream of that day.
This log is appended to as the system changes. Entries are never edited after the fact and never removed — including the ones that did not go well.
I was the market before I built the product.
Six years, four companies. Sole founder twice; co-founder and part-time CTO of a third; co-founder and principal of a fourth. Six years deploying enterprise systems and AI-enabled ERP — the operations Warroom automates are the ones I spent those years inside. Warroom was built end to end by one person.
The company runs with no fixed operations headcount: AI-executed workflows plus an on-demand bench of specialists in engineering, product, sales and advisory.
Contact: service@brightstream.com.tw · Free diagnostic · All links
Figures on this page are read from the production system and updated as runs complete. Last update: 31 August 2026.