Walk & Tap
Everything starts as a pass. Tap a row to cycle it: pass → fail → N/A. The score updates live and N/A is excluded from it entirely. This is live, so tap a few rows and watch the number move.
Norfolk
iPhone, 390 × 844. The checklist scrolls inside the device.
Live result
| Items passed | 20 |
| Items failed | 0 |
| Marked N/A (excluded) | 0 |
| Scored denominator | 20 |
| Critical failures | 0 |
| Bonus eligible (90+) | Yes |
A property with no dishwasher should not be marked down for failing to have a clean one. Mark "Dishwasher clean" as N/A and watch the denominator shrink rather than the score drop. This rule lives in the database view, not in the app, so no report can get it wrong.
Taps are held in the browser only and are lost on refresh. The real app queues them in IndexedDB and replays on reconnect, keyed so a replay can never duplicate an inspection. Photo capture and room sampling are stubbed here.