Construction workforce attendance — entitlement calculated from a closed record pair
A building site is temporary and nobody passes a fixed gate, so entry and exit are captured by a QR scan on the worker's phone with a location check. What this page rests on is where the arithmetic comes from: entitlement is not held in a sheet kept alongside, it rides on matched entry and exit pairs. The span comes from the two ends of the pair, and an entry whose exit was never scanned stays open as an unclosed record instead of dissolving into a total. The field app runs in React Native (Expo); Laravel receives the scans and MySQL holds them. Boundary: written for building sites, with no customer history or quote tracking.
Read the case study →