Patrick TeallProduct designer

ShiftForge AI

View Presentation

Agentic AI to handle routine workforce tasks so operators can focus on decisions that require approval.

Overview

Operations teams spend significant time fixing records of what took place and don't have the visibility to make adjustments in real time.

Three problems came up each week: staff re-entered timesheet details by hand, invoices were delayed while teams checked purchase orders and receipts, and approvals waited in email.

Reconciling two sources by hand

Meticulously comparing these timesheets and correcting inconsistencies costs a lot of time.

Invoices that stall

Payment is held up until the PO, a receipt, and a timesheet agree, meaning workers are paid before the agency gets compensated.

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 compared 14 workforce products to see how well each worked for factories and staffing agencies. None worked well for 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

Users

Plans and invoices are processed by two roles that oversee labor operations.

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 could an agent take over for routine weekly tasks without impeding operator decision-making?

Each week, teams add workers, assign shifts, fill open roles, and check invoices across two systems. Basic automation can handle routine cases while an agent flags exceptions that need attention.

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

I gave each of the three agents one job, a set response format, and a clear point where a person 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

After: open positions, urgency, and overtime forecast on one surface; the agent proposes the fill, a person confirms it
Four-stage planning workflow: Manufacturer and AI draft the plan, the Manufacturer approves it, AI recommends workers, and the Staffing Agency assigns workers and publishes.
Planning workflow · Manufacturer + AI draft the plan; the Manufacturer approves it; AI recommends workers; the Staffing Agency assigns workers and publishes.
Timesheets

Reviewing the week and catching overtime

After: exceptions sorted by impact, each with the hours, the dollar effect, and a single pending signoff
Four-stage timesheet workflow: the system flags exceptions, AI proposes corrections, the Manufacturer and Staffing Agency resolve and approve, and the Staffing Agency submits to invoicing.
Timesheet workflow · the system flags exceptions, AI proposes corrections, the Manufacturer and Staffing Agency resolve and approve, then the Staffing Agency submits to invoicing.

My design process

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, the system ranks available workers by certification, availability, cost, and distance. It gives the supervisor a shortlist and explains why each person was suggested.

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.

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.

RAG-grounded invoicing

Check invoices against real records

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.

Four-stage invoice workflow: the system drafts the invoice, the AI agent flags issues, Plant Managers resolve flags, and the Staffing Agency submits the invoice.
Invoice workflow · the system drafts the invoice; the AI agent flags issues; Plant Managers resolve flags; the Staffing Agency submits the invoice.
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.

Impact

Operational efficiency with less manual work

~80%

less planning setup, with auto-built plans

0

surprise overtime

0

chasing exceptions

Invoice Turnover

Current
~3 days
Forecasted
24 hours

3× faster · 48 hours saved per cycle

Slow invoice turnover requires chasing down workers, manual corrections, and cross-checking two systems.

Invoices Requiring Corrections

Current
15–30%
Forecasted
0%

Zero rework · clean on first pass

Corrections are needed today because hours are keyed in manually across two systems, so mismatches and data-entry errors slip through unchecked.

Average Overtime per Worker

Current
3.8 hrs/wk
Forecasted
3 hrs/wk

21%+ less · 0.8+ hrs saved per worker weekly

Unintended overtime occurs when workers near overtime cover for unexpected lapses in coverage.

Next Steps

Find design partners and run simulations to refine the product.

I will continue testing the product with staffing agencies and manufacturers.

Aerial view of vehicles in a parking area
Patrick Teall logo