JackCheck
Inspiration
A pre-shift pallet-jack inspection depends on an operator noticing damage before work begins. Traditional checklists split attention between the equipment and a phone or sheet of paper. JackCheck explores a simpler spatial workflow: put the current instruction beside the component being inspected and let the operator record each judgment without leaving the inspection flow.
What it does
JackCheck presents a real-scale manual pallet jack with five component-relative inspection points:
- Wheels
- Fork tips
- Fork underside
- Hydraulic unit
- Handle and controls
The operator selects Pass or Issue for each check. Pass advances through the inspection. Issue ends the flow with a summary naming the affected component and a visible Do not use tag at the handle. Completing all five checks with Pass produces a completion summary without a warning tag. Reset demo clears the inspection and restores the first prompt.
JackCheck does not decide whether equipment is safe. The operator supplies every judgment.
Why Spectacles
The important interaction is spatial rather than visual novelty: the instruction appears beside the physical feature the operator needs to inspect. This reduces the need to repeatedly shift attention between the jack and a separate checklist and provides a consistent sequence across the equipment.
How I built it
JackCheck is a Lens Studio 5.23.2 project using Spectacles Interaction Kit, Spectacles UIKit, and LEAF. A deterministic local state machine coordinates five authored marker controllers, component-relative prompt anchors, UIKit inspection and summary cards, and a handle warning tag.
The implementation includes duplicate-input protection and an explicit Reset. It requires no backend, account system, analytics, or network service. LEAF scenarios exercise launch, linear progression and duplicate-input protection, Issue and Reset, all-Pass completion, and Reset after completion.
Challenges
The main design challenge was keeping the inspection guidance close to each component without turning the operator's view into a dashboard. JackCheck uses progressive disclosure: one short prompt, minimal progress, and two forgiving Pass/Issue targets. The summary replaces the inspection card, and the warning appears at the handle only when an operator reports an Issue.
The engineering challenge was making that flow dependable. I used CLAD with Lens Studio and the Lens Studio MCP, then used compiler output, scene readback, runtime logs, and individual LEAF scenarios as feedback. This exposed UIKit initialization ordering and a Reset bug involving the reusable duplicate-input lock. Package versions were aligned with Lens Studio 5.23.2 to create a reproducible Preview build.
What I learned
A focused spatial workflow is stronger than an expansive but unverified feature set. The useful AR moment is not simply placing a checklist in 3D; it is keeping the current instruction beside the exact component while showing only the decision needed at that moment.
I also learned that AR reliability depends on scene lifecycle, interaction timing, and verification as much as visual design. LEAF proves the inspection logic, while separate Preview review is still needed for framing and readability. Physical-device comfort and hand tracking require separate validation.
What's next
The immediate next step is physical SPECS validation of prompt placement, text comfort, target acquisition, and hand tracking. After that, the same operator-authored inspection model could be adapted to other manual handling equipment without adding automatic diagnosis.
Responsible scope
JackCheck is an inspection aid, not a safety-certification system. It does not recognize equipment, analyze the camera feed, diagnose defects, physically lock out equipment, or replace employer procedures. Any Issue outcome must be handled according to the operator's workplace safety process.
Built With
- clad
- lens
- mcp
- typescript