Staffing Agency Software That Replaced Phone-and-Email Dispatch Across Six US Markets

Since 1988 this Illinois agency has placed hospitality, catering and industrial staff, coordinated throughout by phone and email. Missed clock-ins and open shift requests now surface on one dashboard instead of second-hand.

Start your project

The build

First Class Workforce Solutions has placed hospitality, catering and industrial staff since 1988, operating out of Columbia, Illinois across six US markets.

Aipxperts spent roughly three years building the platform that now runs its day-to-day operation: a web application for agency staff and clients, and a Flutter mobile app for the workers on assignment. The goal was to take the agency's core loop, filling a shift and proving the hours, off the phone.

The problem

Staffing is a coordination business. Every shift involves a client who needs people, workers who may or may not be available, and an agency coordinator in the middle holding it together by phone and email. That model works, and it does not scale cleanly. The specific friction points:

Filling a job meant a coordinator calling through a list, with no way for available workers to claim open shifts themselves.

Timesheets arrived on paper or by message, then had to be transcribed before anyone could invoice against them.

Nobody had a single view of missed clock-ins and open requests, so problems surfaced late, usually when a client called to ask where their staff were.

Clients had no self-serve route to raise a request or check the status of one.

A firm running 35 years of relationships across six markets accumulates a lot of that friction. It is also a business where a missed clock-in is not an admin detail, it is a payroll dispute and an unhappy client.

What we built

We built three connected experiences rather than one general-purpose portal, because the three audiences want completely different things from the same data. Agency staff want exceptions. Clients want status. Workers want shifts and hours.

Self-serve job acceptance

Workers see open assignments matched to them and accept from the mobile app, which removes the coordinator's call-down list from the critical path of filling a shift.

Geofenced mobile clock-in

Flutter app with Google Maps geofencing, so clock-in is tied to being at the site rather than to a claim about being at the site. This is what makes the timesheet defensible later.

Exception dashboard for agency staff

Missed clock-ins and open requests surfaced in one view, so coordinators work the problems rather than hunting for them.

Client request and status portal

Clients raise staffing requests and track them without phoning a coordinator, built in Vue 3 with TypeScript.

Live chat

A Node.js and Socket.IO service handling real-time messaging between coordinators, clients and workers, kept separate from the Laravel API so a chat spike cannot slow down core scheduling.

Clean timesheet to invoice path

Hours captured at source with location evidence, flowing through to generated PDF invoices and W2s without a transcription step in the middle, with Excel export for anything that has to leave the system.

Scheduling calendar

A FullCalendar-based view of assignments and coverage, so a coordinator can see the week rather than reading a list.

Power BI reporting

Operational data surfaced through Power BI for the reporting the agency runs on top of day-to-day scheduling.

The outcome

Less phone and email traffic, faster job fill, cleaner timesheets, and a self-serve route for both clients and workers. Agency staff now see missed clock-ins and open requests in a single dashboard rather than discovering them second-hand. Platform scale reported by the client:

Tools and Technologies

Laravel
Vue 3 + TypeScript
Flutter
Microsoft SQL Server
Node.js + Socket.IO
Redis
Laravel Horizon
Power BI
OpenAI
Google Maps geofencing

Planning something similar?

If your operation still runs on call-downs and transcribed timesheets, the fix is usually one system, not more staff.

Start the conversation