Check a child in
Search by the child's or family's name, then tap to check in. A name tag prints for the child's back.
Check a child out
Find the child, then verify the adult picking up against the approved photos before releasing.
Roster
Add children and their approved adults with photos. This is the backbone of secure pickup.
Activity
Today's check-ins and pickups.
Settings
Cloud sync, security, and display options. The app works fully offline without any of this.
Every check-in, check-out, and roster change (including photos) is saved to your Supabase project on each change. Write-only — the app can add records but can't read them back, so kids' data is never exposed on the public site. Paste your project's anon public key (Supabase → Project Settings → API). One-time table setup SQL is in the file I gave you.
Off by default — name-tag printing is a future feature. Flip this on when you're ready to print tags.
Set one shared code your kids/security team knows; it's asked when the app opens. Stored as a one-way hash on this device (not plain text). Leave blank and Save to remove it. Honest note: this is a soft lock for a church-owned kiosk — it stops casual/accidental access, not a determined hacker. Real protection = the church-owned device + this passcode + the cloud sync as the only off-device copy.
Everything is stored on this device and (when cloud sync is on) mirrored to your Supabase project. You can also export a CSV from the Roster.