Case study · Workforce · Attendance and field operations
Attendance that proves people were on site — replacing the paper muster roll
SitePulse is attendance and site operations for contractors and anyone with crews spread over several locations. A check-in only counts when the phone is inside the site's boundary, and the register builds itself from those check-ins.
The problem
The paper muster roll is signed at the gate and trusted only as far as the person holding the pen. It cannot be checked from the office, it has to be retyped to be totalled, and disputes about who was there come down to memory.
WhatsApp photos and selfie apps help a little, but a photo does not prove where it was taken. The job was to make presence a fact — tied to the site's boundary — and to make the register, the shifts and the follow-up happen without retyping.
Who it is for
- Contractors and builders
- Crews across several sites, paid by the day, where who was actually present is the number everything else depends on.
- Security and facility firms
- Guards and staff posted at client sites, where the client wants proof of presence.
- Site managers and supervisors
- The people who need to know about a missed check-in while it can still be fixed.

What we built
Attendance
- Geofenced check-in and check-out from the phone
- Daily attendance register, coloured by status, with assign-all
- Manual attendance with a reason, and an admin review queue
- Overnight shifts handled
- No-show alerts to supervisors
Sites and shifts
- Sites with their own boundary
- Shifts, full-day and half-day rules and minimum hours, per site or globally
- Working hours and a calendar
- Roles: super admin, admin, site manager and staff
Running the work
- Tasks — one-off, recurring, allocated, with a bandwidth view
- Site chat and a site feed
- Leave and payroll pages
- An audit trail of who changed what
The app itself
- Installable PWA that works on budget Android phones
- Web push notifications
- Password reset by email
- Company billing with GST invoices and credit notes
Integrations
- Web Push (VAPID)Notifications to the phone for missed check-ins, tasks and remindersLive
- RazorpaySubscription payments with GST invoices, payment webhooks and reconciliationBuilt — switched off in production until billing is enabled
- EmailPassword reset and branded notification emailLive
Decisions worth knowing
- The boundary decides
- A check-in is accepted or refused by the server against the site's geofence, not by the phone, so it cannot be faked by editing the app.
- Login protected at the edge
- nginx rate-limits the login and password-reset endpoints per address, on top of the application's own throttle.
- A PWA, not an app-store app
- Installs from the browser, updates without a store review, and runs on the phones site staff already have.
Speed and quality, measured 10 Oct 2026
Google Lighthouse scores for sitepulseinfo.com/, run against the live site. Lab scores move a few points between runs.
Phone
- Performance
- 85
- Accessibility
- 100
- Best practices
- 100
- SEO
- 100
Largest paint 3.6 s · Layout shift 0 · Blocking time 30 ms
Desktop
- Performance
- 99
- Accessibility
- 100
- Best practices
- 100
- SEO
- 100
Largest paint 0.7 s · Layout shift 0.037 · Blocking time 0 ms
Want something like SitePulse?
Two lines are enough. We reply with an honest range and next steps — and a free design if you want one.
We reply within one working day
