Sajjad Mahessar Good Merch Group Free audit
~/sajjad $ cat projects/staff-app ← cd ../projects Systems

Staff management iOS app

App Store · v1.4+£800/mo removed

A full workforce management product shipped to the App Store, in daily use by 15+ staff across the group, replacing a paid platform. Packaged as a white-label reseller product with a complete handover pack.

Type
iOS app
Category
Systems
Built with
SwiftUI · Supabase · APNs · Edge Functions
Project
2 of 37
The App Store listing for the staff app, showing four screens
Live on the App Store — venues and staff names anonymised

What I built

  • Three-tier role model — staff, manager, owner — with a hard five-tab cap per role, and PIN authentication routed through a server-side Edge Function.
  • Geofenced clock-in and clock-out, a rota builder with push notifications, holiday accrual and approval workflows, shift swaps requiring manager sign-off.
  • Cross-site stock transfers, time-locked daily compliance sheets, timed toilet checks, weekly cleaning checklists.
  • Guest check-in with extra-night extension billing, and a cross-venue manager dashboard.
  • A PII protection layer separating pay data from general staff records.

Schematics

Three phones showing clock-in, rota and break screens
Clock-in screen showing site and clocked-in status
Break screen showing on-break status and end-break action
Rota screen showing shifts across both sites
STAFFMANAGEROWNER CLOCK IN / OUTROTA VIEWHOLIDAY REQUEST ROTA BUILDERSTOCK TRANSFERPAY DATA CROSS-VENUE PAY DATA SEPARATED AT THE DATA LAYER, NOT THE UI
MONTUEWEDTHUFRISATSUN A. K.M. P.J. R.S. B.L. T. SWAP REQUESTED · MANAGER SIGN-OFF · PUSH SENT
Geofenced clock-in, with the site confirmed on screen

What it has grown into

  • Hotel bookings imported from the property system’s PDF reports, turned into SQL. The rule is that the newest report always wins, so a room swap never loses a booking.
  • NFC tags for clock-in, announcements with sender permissions and read receipts, and a read-only live view of table orders for floor staff.
  • Drinks stock counts alongside food, feeding the weekly report.
  • A push notification fault traced to staff still running test-build tokens that the live notification service rejects. Fixed by moving them to the store build, not by changing code.

The second lockdown

After the first audit, the platform’s own warnings found more: 49 allow-everything policies, an exposed view and public storage buckets.

17 internal functions were closed to the public, and guest ID photos and documents got proper signed-in storage rules. Then the whole app moved off the public key onto authenticated sessions, with a PIN re-login every 12 hours handled automatically when a session expires.
Client platform

Serviced-apartment access & pricing platform

Door codes that only exist during the stay

Node.js / ExpressSQLiteAES-256-GCMHMAC tokens
No charge

I’ll find the money before you pay me anything.

Send me your software subscriptions and I’ll come back with what’s replaceable and what it’s worth — free, and yours to keep either way. How it works →

Contact

Want the same done to your cost base?

Open to operations, automation and technical operations roles — and to talking with anyone running a multi-site business who suspects they're paying for software they could own instead.