AI on Watch.
Operators on Call.

A working-engineer's substrate for AI-on-watch operations. Threads, stimuli, heartbeats, and surfaces.

Documented as a method, openly. Running in production today.

It's Tuesday, 9:47pm. The kitchen's mostly cleaned. There are emails from the school, a half-finished slide deck on the counter, two kids who haven't packed their lunch boxes yet, and a dishwasher that should be running. You sit down. You pull out your phone, and on it: a single line that says Wash Anya's PE kit before bed — she has games tomorrow.

That's it. The watch on your wrist isn't buzzing. The phone hasn't been pinging all day. There's no app demanding your attention. There's just one thing, surfaced at the moment you can act on it, where you naturally look. You wash the kit. You go to bed.

This is the outcome we've stopped expecting from software. ContextOS makes that outcome the default.

The pattern this externalizes already exists. A parent holding a household together. A charge nurse who knows which patient needs the next vitals check. An agency owner who pings exactly the right person at exactly the right moment. A chef who calls fire on table 14 with a glance. They watch a small universe of activity. They hold persona-specific context about who needs what when. They surface things at the latest safe moment to the right person on a surface that person already glances at.

ContextOS makes that pattern deployable. ContextOS is a method. The method runs inside products — OrderHubX today, more to follow.

This is the substrate, running

The simulation isn't a mockup.

It's the OrderHubX feed schema rendered through one explainer surface. Same JSON shape that drives the production engine. Swap the surface — mobile, desktop, voice — and the substrate doesn't change.

{
  "id": "evt_003",
  "kind": "event",
  "watch": { "who": "ShipX rate-shop", "urgency": "fyi",
             "text": "USPS Ground Adv won 14 labels · saved $38.20" },
  "reason": { "confidence": 0.93, "intent": "shipping.rate_shop",
              "context_pulled": ["easypost.rates", "shippo.rates",
                                 "service_level.commit"] },
  "route": { "outcome": "auto", "target": "thread_advanced" }
}

One event, one confidence score, three context joins, one routing decision. Multiply by 1,400 orders a day. That's the substrate doing the watching.

Watch a Tuesday morning at OrderHubX →

The Claim

Most AI products today wait for humans to ask. You open the app, you type a question, the system replies. ContextOS works the other way. The system continuously watches a defined universe of activity. It joins facts with intents with deadlines on every live lifecycle. It enriches signals with context. It decides — most of the time, silently — what should happen next. Only when it genuinely needs a human does it locate one. The operator is on call, not on duty.

AI finds the human. The human doesn't give AI work.

Stop following every ant.

Read the full claim →

The Method: Watch → Enrich → Route → Surface

To run operations where AI is on watch and operators are summoned only when needed, follow four moves. They repeat. The same loop runs from a household to a hospital ward, with different vocabulary and tempo but identical shape.

Watch

Triggers spawn threads — lifecycles from creation to logical conclusion. Stimuli from any of nine channels (in-app action, webhook, email, sensor, scheduled tick, AI agent, more) advance them in one canonical shape. Heartbeats are scheduled at thread-step entry and fire on time — that's how the system watches for absence, which by definition can't be detected from incoming stimuli alone. The promoter who didn't check in. The KYC that didn't get submitted. The homework that's now due.

Enrich

Each stimulus joins the thread it belongs to. History, policy, persona, channel trust, recent overrides — all attach. By the time a signal is ready to be routed, it carries enough context for a decision to be made. The same event means radically different things to different people; enrichment is what makes the meaning per-persona explicit.

Route

Each enriched signal carries a confidence score. High confidence routes silently to automation. Medium confidence proposes an action and awaits human approval. Low confidence surfaces the full context to a human who owns the call. Routing is by confidence and persona, not by signal type. See the confidence model.

Surface

When a human is needed, the system locates them on the surface they already glance at — a watch-face complication, a pinned conversation, the kitchen tablet, a Slack DM, the voice assistant when they ask what's next. Push notifications exist as a failsafe, not a default. The discipline is to surface at the latest safe moment that still allows action — early enough to act, late enough not to forget. See surfaces and the locator.

Every signal-routing-action-outcome chain is recorded in the decision graph. The system gets sharper.

How we build

How AI-native apps should be built.

Substrate first. Surface last. Most teams build the chat box first and bolt the events on later. That gives you a demo, not a system. Start the other way:

  1. Catalog the events. List every real-world event — AI or no AI. Give them logical nomenclature.
  2. Build the threads. Group events into lifecycles. Bake heartbeats in — they watch for what didn't happen.
  3. Enrich the context. Decide what attaches to each event. Decide what level of intelligence keeps the ball rolling.
  4. Name the persona. When intelligence isn't enough, name the human. Different personas need different context.
  5. Pick the surface. Where does that persona already glance? Give them the affordances for the decision.
  6. Render the UI. Last, not first. The UI is a downstream rendering decision.

Get steps 1–5 right and the human doesn't need to remember anything. This is what makes ContextOS different. OrderHubX runs on it. So can yours.

Read the full build order →

Where the Method Runs

The same engine runs anywhere a small universe of activity needs to be coordinated, where multiple personas have asymmetric context, where time matters, where attention is finite, where things slip.

A working parent runs fifteen concurrent threads. A charge nurse runs thirty patients on overlapping schedules. An agency owner runs ten brand activations. A chef runs eighty covers across eight stations. A smallholder farmer runs five fields against weather windows. Different domains. Different vocabulary. Different tempo. Identical shape.

ContextOS is sovereign by default. Your infrastructure, your data, your engine. Read why this matters.

OrderHubX

One place this method runs.

OrderHubX is order fulfillment and exception management for B2B operators. Threads are orders. Stimuli arrive from customers, carriers, warehouses, and ERPs. Heartbeats fire when a confirmation, a pickup, or a delivery doesn't arrive on time. When a decision needs a human — a chargeback dispute, a warehouse swap, an expedite request — OrderHubX finds the right operator on the surface they already glance at.

Different domain than yours. Identical substrate. The same engine, the same thread shape, the same routing model.

See OrderHubX on ContextOS →

Calm Technology With Teeth.

If your software has been training your team to expect the opposite, this is what the alternative looks like.