Case study
Workforce platform
A staffing company places workers across many client sites, and each one has to be hired, scheduled, clocked, paid and kept compliant. This platform does all of it in one place, so nothing is re-typed between hiring, time and payroll.
- Client
- A staffing company (name withheld)
- Year
- 2025
- Platforms
- Web, iOS, Android
- Our role
- Design and engineering
- Stack
- React, Ant Design, Node.js, PostgreSQL with Prisma, Socket.IO, Twilio
- See it
- Behind the client’s login

The problem
Staffing runs on more than a timeclock. Every worker is recruited, onboarded, scheduled, clocked in at a client site, paid weekly and kept compliant, and each step usually lives in a different tool.
When those tools don’t talk to each other, the same hours get re-typed into payroll, and one late edit can change a payroll that has already gone out.
What we built
One platform from job posting to paycheck: a job board and applicant tracking, onboarding with I-9 and background checks, shift scheduling and time off, kiosk and phone timeclocks, and weekly payroll with QuickBooks export.
Payroll runs are frozen as snapshots once finalized, and every change to a worker’s record is logged. Screens on this page use sample data, and the client’s name is withheld.
Standout features

Payroll runs that don’t move
A finalized run is stored as a snapshot of hours and pay per employee, so a later timeclock edit can never change a payroll that has already been paid.

One profile per worker
Identity, assignment, documents, pay, leave and housing sit on one profile, with sensitive IDs masked by default and every change in an activity log.
Hiring to first shift
A job board, applications, an applicant pipeline and interview booking feed straight into onboarding checklists, I-9 tracking and background checks.
Time, scheduling and the field
Shift scheduling, time off, kiosk and phone punches, a live timeclock map, transportation for crews and a food-voucher wallet workers spend at the client’s cafeteria.
How it is built
A React admin over a Node.js API and PostgreSQL, with real-time updates and text messaging built in.
- Admin
- React with Ant Design, built with Vite
- API
- Node.js and Express over PostgreSQL with Prisma, background jobs on BullMQ and Redis
- Real time
- Socket.IO for live timeclock and dashboard updates
- Integrations
- QuickBooks export for payroll, Twilio for text messages, Stripe for payments
Results
In daily use by the staffing company’s office and its workers.
Building something like this?
Or write to hello@802.software.
Start a project