A work-order console for technicians

Pick a work order, answer its inspection checklist with Pass, Fail or N/A, watch the asset's readings, and sign off: a panel that floats beside the machine.

A dark three-column console: today's work orders on the left with Filler 2 quarterly inspection selected, its checklist in the middle with two steps passed and progress 3 of 6, and asset health tiles on the right showing temperature OK and vibration in alarm, labelled simulated
A capture of the project running in Graspable's emulated headset. A dark three-column console: today's work orders on the left with Filler 2 quarterly inspection selected, its checklist in the middle with two steps passed and progress 3 of 6, and asset health tiles on the right showing temperature OK and vibration in alarm, labelled simulated.

Open the appRuns in a browser, on a Quest or a Vision Pro.

The request, word for word

This is the text that was sent to the agent to start the project. Nothing was edited for this page.

Turn this into a work-order and inspection console, the kind of tool a maintenance company would commission for technicians who wear a headset: it floats as a panel next to the machine they are working on. Three columns on a wide panel, stacked into tabs on a narrow one. Left: today's work orders (make up six for a bottling plant: "Filler 2: quarterly inspection", "Conveyor C4: belt tension", "Labeller: glue unit service"...), each with its asset, priority (High, Medium, Low as a coloured dot), due time and state (Open, In progress, Done). The selected one is highlighted. A filter row at the top: All, Open, Done. Centre: the selected work order: title, asset, location, and its inspection checklist of 6 to 8 steps. Each step has three big buttons, Pass, Fail and N/A, and a notes field that opens when Fail is chosen and is required before sign-off. A progress bar on top shows how many steps are answered. At the bottom a large "Sign off" button, disabled until every step is answered; signing off marks the order Done, records the time, and shows a summary card (passes, fails, time taken, the notes of failed steps) with "Next work order". Right: three live tiles for the selected asset with simulated readings that change every second and are clearly labelled "Simulated": temperature, vibration and output per hour, each with the value large, a small sparkline of the last 30 readings drawn with plain Views, and a state (OK, Watch, Alarm) by threshold. Below them, a short alarm feed that adds a line whenever a tile goes to Alarm. Everything is pointed at from a distance with a hand or a controller: targets at least 44 points, clear hover and pressed states, no gesture that needs two fingers, readable type (18 points and up for content). Dark theme, calm colours, one accent. Keep it in TypeScript, state in memory with React hooks, no new native modules; split the screen into a few components under a components folder and keep the made-up data in one file.

How it went

Runs
One run: the request above, and it was done. A run ends only when the project builds and loads in a real browser without errors.
Started from
The Expo panel app template: A flat app that opens as a floating panel on Meta Quest, Meta VR Glasses and Android XR, and as a web page everywhere else: big targets, a layout that fits a window, built with Expo.
Notes and credits
The asset readings are simulated and say so on the screen. AI: Codex CLI.

Build your own

Graspable is a desktop app. Describe the scene you want, and the agent builds it as a real project on your computer and checks that it runs. It is free with your own AI account.

Download GraspableYour first project

More examples

See all examples