ProjectDesign system · Demo · In progress
A design system where every component says what is known, how sure it is, and who may act.
object-oriented DSDTCG tokenshuman–autonomyfictional
KAIROS is a design system for consoles where a person supervises autonomous aircraft and approves or rejects what an AI recommends, often against a clock. I built it into a fictional maritime drone console you can run in the browser: twelve drones on patrol, a ship to land on, and things going wrong on a schedule.
Most component libraries define how things look. This one starts from what things are: an aircraft, an alert, a recommendation, a decision. Every component renders one of those objects and says three things about it. Did a sensor see it, or did the AI infer it? How loudly may it interrupt? Whose authority does acting on it need?
Below, scenario by scenario: what happens, what the operator sees, and why the console does it that way. How the grammar itself was built is written up in Building an Object-Oriented Design System.

Where it stands
All twelve aircraft start stowed aboard the ship. They launch one at a time from the single deck, ninety seconds apart, climb out, transit to their areas and only then start the patrol.
Why it's designed this way

HERON 2's GNSS position starts to drift. The AI suspects interference and recommends flying to a lighthouse to re-fix the position. If nobody decides within the window, the system holds the drone in place and its position error keeps growing.
Why it's designed this way


The recommendation comes as one card, read top to bottom: what the AI proposes, the two numbers that decide it, why it thinks so, and the strongest evidence against it. The full evidence opens on request.
Why it's designed this way


Every scenario hides a truth the console cannot see: GNSS interference, or a fault in the drone's own receiver. The symptoms and the AI's recommendation are the same either way. Only one row of evidence, the neighbour's signal strength, tells them apart, and the model does not weigh it.
Why it's designed this way

Holding position is the operator's call alone. Re-routing the aircraft needs the Mission Lead to concur. Ending the mission also needs a written reason. The Mission Lead can say no, and sometimes answers too slowly for the deadline.
Why it's designed this way




Every step of a decision is written down as it happens: who previewed what, who asked, who concurred, when it started executing. After the decision the console asks why, once, and the operator may skip it.
Why it's designed this way


A drone reaches its return point into a headwind and the system has already turned it home. The operator has a short window to spend reserve and keep it on task. Twelve aircraft share one deck, so returns wait in a queue.
Why it's designed this way


PUFFIN 9's radio link drops. The aircraft can't be asked anything; it follows the procedure it was given before the flight: hold at its lost-link point, then come home.
Why it's designed this way

Three ways to lose an aircraft: a propulsion failure brings CURLEW 5 down at sea, a strike ends GANNET 8's telemetry in one frame, and a failing battery cell drains SKUA 10 faster than the model expects. None of them disappears from the console; each becomes a loss report.
Why it's designed this way



A distress beacon goes off at sea. Sending a flight finds people sooner but leaves its patrol area unwatched. Rescue coordination expects an answer within five minutes.
Why it's designed this way


A small vessel without AIS appears in a patrol area. The AI guesses what it is from what the sensors saw, at low confidence.
Why it's designed this way

A distress beacon, four drones near their return point, and an unidentified contact, all inside the same fifteen minutes.
Why it's designed this way

Tokens follow the DTCG format and are named by meaning, like epistemic.inferred.fill or severity.critical.fg, never by look. Storybook holds every component in every state.
Why it's designed this way


Assumptions and limits
Next: a user test with twelve participants and six conditions, half of them with the AI wrong. It is exploratory: it can show where people misread the console, not prove it safe. It counts needless rejections when the AI is right as well as errors missed when it is wrong. Results will go here.
Everything is fictional: the mission, the aircraft, the people. The system doesn't design weapons, targeting or engagement, and it never labels anything friend or hostile. Every action an operator can take moves our own aircraft.