Video · 3:08

Build a kiosk app with the SDK

A developer film: Claude Code writes a lobby kiosk against window.screenrig, ships an immutable release, and answers a visitor's tap on another screen.

Read the SDK referenceSet up your agent

Watch

01Watch

3:08

Film / Build a kiosk app with the SDK

3:08

Kestrel Labs, its visitors and every id are sample data. The app, the commands and the event line on screen use the SDK and CLI as documented, run from Claude Code.

02Chapters

Chapters

Jo asks for a lobby check-in kiosk. Claude Code writes it against window.screenrig, ships it, and answers the first tap on the welcome wall.

  1. 0:00

    The kiosk, live

  2. 0:17

    The old way

  3. 0:30

    Jo asks Claude Code

  4. 0:50

    The code

  5. 1:26

    An immutable release

  6. 1:51

    A tap reaches the agent

  7. 2:15

    A second release

  8. 2:38

    Built for developers

03Transcript

Narration

Transcript

The narration, as spoken. The captions carry the same lines.

  1. 0:05

    A check-in kiosk, written by an agent. And the lobby answers every tap.

  2. 0:18

    A kiosk app used to mean a native build for every device, and your own server for every tap.

  3. 0:31

    Jo builds internal tools at Kestrel Labs, in Claude Code.

  4. 0:39

    One request: check visitors in on the lobby kiosk, and welcome them on the wall.

  5. 0:50

    Nothing to install. Packing the app injects the runtime, so window.screenrig is just there.

  6. 0:57

    Wait until the Player activates the page. Then say it's ready.

  7. 1:05

    Today's visitors live in the app's key/value store. Change the list and the kiosk follows. No new build.

  8. 1:12

    A tap sends a named event. The receipt means the backend has it.

  9. 1:20

    On a landscape screen, the same app is the welcome wall.

  10. 1:26

    Upload makes an immutable release, on its own origin.

  11. 1:33

    One playlist pins that release, for the kiosk and the wall.

  12. 1:39

    Assigning doesn't wait for the glass, so the agent checks. Screenshots come back.

  13. 1:52

    A visitor taps their name.

  14. 1:56

    The tap reaches the agent as an event, and the agent answers on another screen.

  15. 2:02

    The kiosk never talks to the wall. The agent does.

  16. 2:15

    Jo wants a button to call reception. That's a new release.

  17. 2:22

    Every release is immutable. The playlist moves its pin when you say so.

  18. 2:28

    And the key/value store carries over, so today's visitors are still there.

  19. 2:39

    No build step. Immutable releases. State that outlives them. Events with receipts, and webhooks for your own service.

  20. 2:54

    A generous free tier. Then pay for bytes, never per screen.

  21. 3:00

    Ask your agent to set up screenrig.ai.

  22. 3:04

    Give your agent a screen.

Build an app that belongs on a screen

Every method in the film is in the SDK reference: waitUntilActive, ready, kv and emitConfirmed.

Read the SDK referenceAll videos →