Hi everyone,
I have a client who asked me to build an attendance app for their 20 workers. The challenge is:
They’re on the Maker plan
Barcode/QR scanning requires a Business plan and each scan uses 5 updates
If each worker checks in and out once per day, that’s 40 updates daily, which means ~1,200 updates per month — too high for their use case
So I’m looking for alternatives to barcodes that don’t eat up updates.
Here’s what I’m currently thinking:
I’m considering a hybrid approach using deep links + GPS to avoid abuse and stay within the update limits:
I’ll place a QR code at the entrance (just a static code that links to a hidden screen in the app via deep link)
This screen is not visible in the menu and can only be accessed by scanning the QR
On that screen:
There will be a Location Picker near the “Check In” button
The Check In button will only appear if the user’s location is within a geofence (e.g., within 100 meters of the entrance)
When the user taps the button, it records their user ID, time, date, and location
Since it’s all user-initiated and uses only CRUD actions, this should not consume any updates — which is great for scalability.
My Question:
Has anyone implemented something like this before?
What do you think of this solution — or do you have a better idea to keep the app simple, secure, and low on update usage?
I’d love to hear your thoughts or alternative suggestions. Thanks in advance!
Hi,
My plan is to have the QR code link directly to the form page of the relevant table where location data will be stored. When a user scans the QR code, the form will open immediately, with the location toggle ready. Once the user enables location access, a button will appear allowing them to confirm their check-in or check-out. Upon clicking the button, the app will automatically capture the user’s ID, email, date/time, and location details.
You could just use the distance column to measure the user’s distance to a location. If they are within range, then show certain components. No need to scan a barcode. They just need to be a certain distance from a location you specify.