Patrick TeallProduct designer

ShiftForge AI

AI agents that handle the busywork of running a hybrid workforce — so the people running it can focus on the decisions that actually need a person.

Overview

Operators spend most of their week on reactive problem-solving and manual data tracking. Only 7% have real-time, end-to-end network visibility.

Three things break the same way every time: staff key in line items by hand, invoices stall waiting to match POs and receipts, and approvals sit in someone's inbox.

Hand-keyed line items

Staff type timesheet detail into a second system by hand, every week, from memory.

Invoices that stall

Nothing ships until a PO, a receipt, and a timesheet agree — and no tool owns the matching.

Approvals in an inbox

The next action lives in someone’s email, so exceptions surface days after they cost money.

Design goals

  • Auto-build the plan — let AI match work orders to POs and draft invoices, so a week stands up without hand-keying.
  • Give every task an owner — assign clear tasks so invoices don’t get lost and exceptions get caught early.
  • Show overtime before it happens — at the moment of assignment, not on the invoice.
Research

Not one vendor fit both sides of the problem.

I scored the top 14 vendors in labor operations software on two things: how well they fit a factory floor, and how well they fit a staffing agency's economics. None scored well on both.

VendorCategoryStaffing fitMfg fitHybrid
BullhornStaffing OS5 / 51 / 52 / 5
TempWorksStaffing OS4 / 52 / 52 / 5
ShiftboardMfg WFM1 / 55 / 52 / 5
UKG WFMMfg WFM2 / 54 / 53 / 5
ShiftForgeOrchestration layer4 / 54 / 54 / 5

What that gap costs, every week

~4 hrs

of a coordinator’s week, reconciling timesheets by hand

15–30%

of invoices need a rate or overtime correction

3–5 days

to resolve a billing dispute over email

Personas

Two roles, one week, two systems that don't talk.

Staffing agency · on site

Site manager

Behaviors
Planning, assignments, leading the on-site crew
Goals
Keep the plan current; run the week at high operational efficiency
Pain
Missing timesheet data, delayed invoice approval
Contract manufacturing

Plant supervisor

Behaviors
Data-driven calls on the floor, leading shifts
Goals
Operational efficiency and quality assurance
Pain
Backfilling positions fast, unexpected overtime
“If a temp worker goes into overtime, I don’t find out until the invoice comes.”
HR Manager · Staffing agency
“We approve time in one system, then re-enter it in another to generate the invoice.”
Plant Supervisor · Contract manufacturing site
Design Challenge 01

How might we hand the repeating parts of the week to an agent without handing over the decisions?

The operator’s week is four repeating jobs across two systems that do not communicate: onboarding a worker, assigning them to a shift, backfilling when someone drops, and reconciling the invoice at week’s end. Basic automation handles the happy path; an agent has to handle the exceptions.

The AI constraints I designed around

01

Made-up references

The agent sometimes cited time entries that did not exist. The app now checks every reference against real data before showing it.

02

Version drift

The same question got different answers from different model versions, so I locked the answer to a fixed shape the app validates every time.

03

Over-narration

The agent wanted three paragraphs where one sentence would do. Length is capped in the prompt and again in the app.

04

Fake confidence

It would confidently invent what it did not know. I gave it a way to say “I don’t know” — and made that the only option when it isn’t sure.

05

Cost per use

Paying a vendor per question added up fast, so for the pilot the agent runs on the customer’s own machine on a free open-source model.

Multi-agent design

Three agents. Each gets a bounded scope, a typed output, and a named place where a human takes over.

AgentInputOutputApproval boundary
Reconciliation AgentThis week’s time entries and rate cards3–5 typed flags with citations and proposed resolutionsPlant supervisor approves any flag that affects billing
Coverage AgentNext week’s demand and the current rosterCoverage flags, ranked candidate suggestions per open shiftCoordinator dispatches, supervisor confirms
Workspace AssistantThe active surface plus the palette queryFree-form chat scoped to the current viewNever moves state, only proposes

The two surfaces I redesigned

Planning

Standing up next week's coverage

Standing up next week's coverage
Before — a four-step wizard: assign 17 positions by hand, one row at a time, with cost buried in a header
After — open positions, urgency, and overtime forecast on one surface; the agent proposes the fill, a person confirms it
Timesheets

Reviewing the week and catching overtime

Reviewing the week and catching overtime
Before — 483 timesheets, 49 missing clocks and 12 overtime flags spread across 20 columns of editable cells
After — exceptions sorted by impact, each with the hours, the dollar effect, and a single pending signoff

How the week got designed

Research

  • Conversations with staffing coordinators and plant supervisors
  • Mapped weekly workflows and pain points
  • Identified primary users and jobs to be done

Scope

  • Mapped user jobs to features, grouped by role and approval boundary
  • Ranked by impact and effort, cut to what could ship as v1

UI design

  • Pulled references from operations and fintech tools
  • Studied approval and reconciliation patterns in adjacent products

Prototyping

  • Several rounds of HTML mockups, low-fi to high-fi
  • One shared shell across planning, timesheet review, and reconciliation
  • Handed off to build with Claude Code in Next.js
Key Solution

The five capabilities that make it work.

Agentic dispatch

Assign work without lifting a finger

When a shift needs coverage, a ranking algorithm sorts available workers across every connected agency — by certification, availability, cost, and distance — and hands the supervisor a shortlist with the reasoning attached, not just a name.

Assign work without lifting a finger
Human-in-the-loop exceptions

Human approval when it matters

Overtime, missing punches, geofence issues — all flagged automatically with a proposed fix attached. Nothing touches pay or a worker’s record until a named person clicks approve.

Human approval when it matters
Intelligent OT forecasting

Take action before it’s too late

The moment a worker crosses the overtime threshold it is flagged — not discovered a week later when the invoice lands and there is nothing left to plan around.

Take action before it’s too late
RAG-grounded invoicing

Accountability that highlights exceptions

Before the agent writes a word of an invoice, it retrieves the real timesheet, rate card, and policy behind that line, and shows what it looked up. It can’t invent a number it can’t point to.

Audit trails

Keep track of how it all happened

Every flag carries its evidence. Every approval is logged with who, when, and why. Every action can be reversed by a person with the right permissions.

Keep track of how it all happened
Impact

Simulated against baselines from prior research.

~80%

less planning setup, with auto-built plans

~100%

of surprise overtime designed out at assignment

0

chasing — the next action is always on screen

Next Steps

Sign design partners and run the product against their actual weeks.

Next is a small group of staffing agencies and manufacturers as design partners. Running against their real weeks is how we measure the three things that matter: overtime caught before it billed, hours cut from the invoicing cycle, and follow-ups avoided on exceptions and reconciliations.

Aerial view of vehicles in a parking area