A cleaner finishes a unit and presses a sticker on the wall. The owner's board turns green in real time, and they can offer the arriving guest an early check‑in.
This page runs the whole loop against production, with no download and no account. Nothing here is a mock‑up.
The cleaner has no app, no login and no setup. The sticker is a QR code that opens one page with one button, in their own language. Open it the way a cleaner would:
Press Mark clean on the page that opens, then come back here. The board below is live production state, so if someone has already run the demo today it will already be green; it clears overnight in the unit's own timezone, exactly as a real turnover does.
This is the owner's view. It updates on its own; you do not need to refresh.
Three Gemini agents own the operational messaging, including the decision not to act. When that press lands, one of them is asked a single multiple‑choice question: is this turnover worth interrupting the owner about? It returns an enum. Every customer‑facing string is assembled in code, so the model can never author text that reaches a person.
Two of the three agents are autonomous today: activation sends real mail and debug triage mutates real issues, with no human in the loop. Turnover, the one that decides this press, is still in supervised shadow mode, logging every decision and executing none. Agents graduate one at a time, on evidence rather than on a date. Decisions are recorded either way, which is why you can read this one.
Read the full decision ledger, including every time an agent decided to do nothing.
The press‑to‑green path is deterministic by design. A cleaner standing in a hallway is the one interaction the whole product is built around, and putting a model in that path would add seconds and a new way to fail. The agents sit beside that loop, not inside it.