Skip to content
AtheronLABS

You're visiting from the United States. Prices are shown in US dollars. Not right?

labs@atheron:~/industries/staffing$ fill --shift --match --timesheet

Staffing software

It fills the shift before the phone tree starts.

Your agency lives on how fast you fill an order and how cleanly you get paid for it. We build the worker apps, client portals, matching tools and timesheet records that speed up both. Your recruiters, not models, decide who gets hired.

// what you are up against

The problems we hear most.

01

Shifts filled by phone tree

A client calls with an order at six in the morning and a coordinator works down a list of phone numbers, while the worker who would have said yes never hears about it.

02

Every résumé read for every order

Recruiters reread the same candidate pool for each new order because the database cannot tell who has the right ticket, experience and availability.

03

Timesheets nobody agrees on

Hours are written on paper at the client site, approved by a supervisor who has gone home, and disputed when the invoice arrives.

04

Compliance across provinces

Certifications, right-to-work documents and employment standards differ by province and by client, and an expired ticket is found after the worker is on site.

// example projects

Systems we could build for you.

Each one is hypothetical, labelled as such, and priced live from our rate card. Open any of them in the estimator and make it yours.

Example projectWeb appMobile app

Worker app and client portal

Hypothetical. Not a client, not a result.

// The problem

An agency takes orders by phone and email, fills them by calling workers one at a time and collects timesheets on paper from client sites.

// What we would build

An iOS and Android app where workers set availability, accept shifts, clock in on site and keep their certifications current, with a portal where clients place orders and approve hours and a console where coordinators fill and track every order.

// What is in it

  • Clients place and change orders in the portal, with the requirements for each role
  • Workers see shifts that match their skills, tickets and availability, and accept in one tap
  • Clock-in and clock-out at the site, with supervisor approval on the phone
  • Certification and right-to-work documents with expiry alerts
  • A coordinator console showing every open order and who has been offered it
  • Integration with your payroll and invoicing systems

// Stack

  • Next.js
  • React Native
  • PostgreSQL
  • Payroll system integration
  • AWS

// estimate

Build
≈ US$147,000 to US$225,000, delivered within 30 weeksCAD 209,800 to 320,800
Hosting
≈ US$492 a monthCAD 700 a month
Support
≈ US$2,500 a monthCAD 3,565 a month

Prices in your currency are estimates from today's Bank of Canada rate. All invoicing is in CAD or USD.

Timeline by milestone

Discovery
2.9 to 3.4 weeks
Design approved
7.4 to 12.9 weeks
Core features
1.9 to 3.4 weeks
Full build
1.4 to 2.4 weeks
First build on devices
3.9 to 6.9 weeks
Testing and fixes
0.9 weeks
Store submission
0.9 to 1.9 weeks
Launch
0.9 to 1.4 weeks

Outside our hands, and added to the calendar

App store review
1 week
API access from your vendor
1 to 4 weeks

How it is paid

Deposit 20%
CAD 41,960 to 64,160
Discovery 9.2%
CAD 19,301.60 to 29,513.60
Design approved 9.2%
CAD 19,301.60 to 29,513.60
Core features 7.6%
CAD 15,944.80 to 24,380.80
Full build 5%
CAD 10,490 to 16,040
First build on devices 20.1%
CAD 42,169.80 to 64,480.80
Testing and fixes 2.5%
CAD 5,245 to 8,020
Store submission 6.7%
CAD 14,056.60 to 21,493.60
Launch 9.7%
CAD 20,350.60 to 31,117.60
Holdback, 30 days after launch (10%)
CAD 20,980 to 32,080
Example projectWeb appAIOpen-source model

Recruiter-led candidate matching

Hypothetical. Not a client, not a result.

// The problem

Recruiters search the candidate database by keyword and miss people who have the right experience described in other words.

// What we would build

A matching tool on an open-source model served in the agency's own AWS account, chosen because résumés are personal information that should not go to an outside provider, that ranks candidates for an order with the reasons beside each one. The recruiter decides who to contact, and every ranking is tested for unfair patterns before launch.

// What is in it

  • Candidates matched on skills, certifications, experience and availability, with the reasons shown
  • Names, photos and other details that could bias a ranking hidden from the model
  • The recruiter chooses who to contact; the tool never rejects anyone
  • Outcomes tested across groups before launch and on a schedule after
  • An open-source model in your own cloud account, with no candidate data sent outside

// Stack

  • Qwen or Llama (open-source)
  • vLLM
  • PostgreSQL with pgvector
  • Applicant tracking system integration
  • AWS

// estimate

Build
≈ US$108,000 to US$166,000, delivered within 21 weeksCAD 154,400 to 235,900
Hosting
≈ US$6,710 a monthCAD 9,550 a month
Support
≈ US$2,500 a monthCAD 3,565 a month

Prices in your currency are estimates from today's Bank of Canada rate. All invoicing is in CAD or USD.

AI route
Open-source model
Model running cost
≈ US$6,530 a monthCAD 9,300 a month

Timeline by milestone

Discovery
2.9 to 3.4 weeks
Specification and evaluation plan
0.4 weeks
Design approved
2.4 to 3.9 weeks
Core features
1.4 to 1.9 weeks
Full build
0.9 to 1.4 weeks
Working pilot
3.4 to 5.4 weeks
Testing and fixes
0.9 to 1.9 weeks
Launch
0.9 to 1.4 weeks
Production
0.9 to 1.4 weeks

Outside our hands, and added to the calendar

API access from your vendor
1 to 4 weeks

How it is paid

Deposit 20%
CAD 30,820 to 47,120
Discovery 2%
CAD 3,082 to 4,712
Specification and evaluation plan 10.3%
CAD 15,872.30 to 24,266.80
Design approved 2%
CAD 3,082 to 4,712
Core features 6%
CAD 9,246 to 14,136
Full build 4%
CAD 6,164 to 9,424
Working pilot 31.1%
CAD 47,925.10 to 73,271.60
Testing and fixes 2%
CAD 3,082 to 4,712
Launch 2%
CAD 3,082 to 4,712
Production 10.6%
CAD 16,334.60 to 24,973.60
Holdback, 30 days after launch (10%)
CAD 15,410 to 23,560
GPU time for training and testing, at cost
CAD 300. Billed up front, at cost, outside the milestones
Example projectWeb appBlockchain

Shared timesheet record

Hypothetical. Not a client, not a result.

// The problem

A large client uses several staffing agencies, and hours, approvals and rates are disputed between the client, each agency and the workers when invoices arrive.

// What we would build

A private permissioned ledger where the client and each supplying agency run a node, and every clock-in, approval and rate is recorded once and seen by the parties it concerns. With only one agency and one client, a shared database does the job and we will say so.

// What is in it

  • A node for the client and for each supplying agency
  • Clock-ins, approvals and rate changes recorded once and signed
  • Each agency sees only its own workers and hours
  • Disputes raised against a specific entry, with its history
  • Exports to each agency's payroll and the client's accounts payable

// Stack

  • Hyperledger Besu (private, permissioned)
  • Next.js
  • PostgreSQL
  • AWS

// estimate

Build
≈ US$108,000 to US$166,000, delivered within 22 weeksCAD 154,200 to 235,900
Hosting
≈ US$492 a monthCAD 700 a month
Support
≈ US$2,500 a monthCAD 3,565 a month

Prices in your currency are estimates from today's Bank of Canada rate. All invoicing is in CAD or USD.

Timeline by milestone

Discovery
2.9 to 3.4 weeks
Architecture
0.4 weeks
Design approved
2.4 to 4.4 weeks
Core features
1.4 to 2.4 weeks
Full build
0.9 to 1.4 weeks
Devnet
2.4 to 4.4 weeks
Testing and fixes
0.4 weeks
Testnet
2.9 to 3.4 weeks
Launch
0.9 to 1.4 weeks
Mainnet
0.9 to 1.4 weeks

Outside our hands, and added to the calendar

API access from your vendor
1 to 4 weeks

How it is paid

Deposit 20%
CAD 30,840 to 47,180
Discovery 2.5%
CAD 3,855.00 to 5,897.50
Architecture 6.7%
CAD 10,331.40 to 15,805.30
Design approved 2.5%
CAD 3,855.00 to 5,897.50
Core features 7.5%
CAD 11,565.00 to 17,692.50
Full build 5%
CAD 7,710 to 11,795
Devnet 20.2%
CAD 31,148.40 to 47,651.80
Testing and fixes 2.5%
CAD 3,855.00 to 5,897.50
Testnet 13.4%
CAD 20,662.80 to 31,610.60
Launch 2.5%
CAD 3,855.00 to 5,897.50
Mainnet 7.2%
CAD 11,102.40 to 16,984.80
Holdback, 30 days after launch (10%)
CAD 15,420 to 23,590
Example projectBot with a web dashboard

Shift-fill bot on Telegram

Hypothetical. Not a client, not a result.

// The problem

Last-minute shifts are filled by coordinators calling and texting workers one by one, often after the start time has passed.

// What we would build

A Telegram bot that offers an open shift to qualified, available workers in order of priority, books the first to accept, tells the rest it is filled and updates the order in the agency's system.

// What is in it

  • Open shifts offered to workers who hold the right tickets and are available
  • First to accept is booked, and the rest are told the shift is filled
  • Directions, site contact and safety notes sent with the booking
  • Coordinators see who was offered, who declined and who accepted
  • Connected to the agency's scheduling system

// Stack

  • grammY for Telegram
  • Node.js
  • PostgreSQL
  • Scheduling system integration
  • DigitalOcean

// estimate

Build
≈ US$34,400 to US$52,700, delivered within 10 weeksCAD 49,000 to 75,000
Hosting
≈ US$176 a monthCAD 250 a month
Support
≈ US$1,000 a monthCAD 1,425 a month

Prices in your currency are estimates from today's Bank of Canada rate. All invoicing is in CAD or USD.

Timeline by milestone

Commands agreed
2.9 to 3.4 weeks
Working in a test server
2.4 to 3.9 weeks
Hardening and testing
0.5 to 1 weeks
Launch
0.9 to 1.4 weeks

Outside our hands, and added to the calendar

API access from your vendor
1 to 4 weeks

How it is paid

Deposit 30%
CAD 14,700 to 22,500
Commands agreed 15%
CAD 7,350 to 11,250
Working in a test server 30%
CAD 14,700 to 22,500
Launch 15%
CAD 7,350 to 11,250
Holdback, 30 days after launch (10%)
CAD 4,900 to 7,500
Example projectWeb appAPI

ATS, payroll and invoicing joined

Hypothetical. Not a client, not a result.

// The problem

A staffing agency re-keys every placement from its applicant tracking system into payroll and again into client invoicing, and pay rate errors surface only when a worker complains.

// What we would build

An integration that creates each placement once and carries it to payroll and invoicing with its pay and bill rates, sends approved timesheets to both, and flags any placement where rates or hours do not match before pay day.

// What is in it

  • Placements carried from the ATS to payroll and invoicing
  • Approved timesheets sent to both
  • Pay and bill rates checked against each other
  • Mismatches flagged before pay day

// Stack

  • Node.js
  • PostgreSQL
  • REST
  • OpenAPI
  • DigitalOcean

// estimate

Build
≈ US$85,700 to US$131,000, delivered within 24 weeksCAD 122,000 to 186,600
Hosting
≈ US$176 a monthCAD 250 a month
Support
≈ US$2,500 a monthCAD 3,565 a month

Prices in your currency are estimates from today's Bank of Canada rate. All invoicing is in CAD or USD.

Timeline by milestone

Discovery
2.9 to 3.4 weeks
Design approved
2.4 to 3.4 weeks
API contract agreed
1.4 to 1.9 weeks
Core features
1.4 to 2.4 weeks
Full build
0.9 to 1.4 weeks
Core resources built
2.4 to 3.9 weeks
Security, gateway and connections
1.9 to 2.9 weeks
Testing and fixes
0.4 weeks
Docs, SDKs and load tests
1.4 to 1.9 weeks
Launch
0.9 to 1.4 weeks
Launch and first callers
0.9 to 1.4 weeks

Outside our hands, and added to the calendar

API access from your vendor
1 to 4 weeks

How it is paid

Deposit 20%
CAD 24,400 to 37,320
Discovery 2.3%
CAD 2,806.00 to 4,291.80
Design approved 2.3%
CAD 2,806.00 to 4,291.80
API contract agreed 6%
CAD 7,320 to 11,196
Core features 7%
CAD 8,540 to 13,062
Full build 4.7%
CAD 5,734.00 to 8,770.20
Core resources built 18.3%
CAD 22,326.00 to 34,147.80
Security, gateway and connections 12.1%
CAD 14,762.00 to 22,578.60
Testing and fixes 2.3%
CAD 2,806.00 to 4,291.80
Docs, SDKs and load tests 6%
CAD 7,320 to 11,196
Launch 2.3%
CAD 2,806.00 to 4,291.80
Launch and first callers 6.7%
CAD 8,174.00 to 12,502.20
Holdback, 30 days after launch (10%)
CAD 12,200 to 18,660
Example projectWeb appMobile appAIFrontier model

Worker app in workers' own languages

Hypothetical. Not a client, not a result.

// The problem

An industrial staffing agency's workers speak Punjabi, Spanish, Tagalog and Ukrainian among others, but shift offers, safety rules and pay information reach them in English only.

// What we would build

The worker app and its messages localised into the languages your workers speak, with native review, safety content checked by your own team, and an assistant that answers questions about shifts and pay in the worker's language from your policies.

// What is in it

  • Shift offers, safety rules and pay details in each worker's language
  • Native review, with safety content checked by your team
  • An assistant that answers from your own policies
  • New content sent for translation automatically

// Stack

  • React Native
  • Next.js
  • PostgreSQL
  • Crowdin
  • Claude API

// estimate

Build
≈ US$131,000 to US$200,000, delivered within 26 weeksCAD 186,200 to 284,900
Hosting
≈ US$218 a monthCAD 310 a month
Support
≈ US$2,500 a monthCAD 3,565 a month

Prices in your currency are estimates from today's Bank of Canada rate. All invoicing is in CAD or USD.

AI route
Frontier model
Model running cost
≈ US$42 a monthCAD 60 a month

Timeline by milestone

Discovery
2.9 to 3.4 weeks
Specification and evaluation plan
0.4 weeks
Design approved
3.4 to 4.9 weeks
Core features
1.4 to 1.9 weeks
Full build
0.9 to 1.4 weeks
First build on devices
1.9 to 3.4 weeks
Working pilot
3.4 to 5.4 weeks
Testing and fixes
0.4 to 0.9 weeks
Store submission
0.9 to 1.9 weeks
Launch
0.9 to 1.4 weeks
Production
0.9 to 1.4 weeks

Outside our hands, and added to the calendar

App store review
1 week
API access from your vendor
1 to 4 weeks

How it is paid

Deposit 20%
CAD 37,240 to 56,980
Discovery 4.8%
CAD 8,937.60 to 13,675.20
Specification and evaluation plan 6.6%
CAD 12,289.20 to 18,803.40
Design approved 4.8%
CAD 8,937.60 to 13,675.20
Core features 4%
CAD 7,448 to 11,396
Full build 2.6%
CAD 4,841.20 to 7,407.40
First build on devices 10.6%
CAD 19,737.20 to 30,199.40
Working pilot 19.8%
CAD 36,867.60 to 56,410.20
Testing and fixes 1.3%
CAD 2,420.60 to 3,703.70
Store submission 3.5%
CAD 6,517.00 to 9,971.50
Launch 4.8%
CAD 8,937.60 to 13,675.20
Production 7.2%
CAD 13,406.40 to 20,512.80
Holdback, 30 days after launch (10%)
CAD 18,620 to 28,490

// questions

What buyers in this industry ask us.

Do you work with in-house HR teams too?

Yes. We are in British Columbia and work with agencies and employers anywhere; prices are in Canadian dollars.

Can you build to employment and privacy rules?

We build to the requirements your team sets out, including employment standards in each province you work in, human rights rules on hiring, and privacy law such as PIPEDA. We do not give legal advice.

How do payments work?

A deposit to start, then payments at agreed milestones, with 10% held until 30 days after launch. The deposit is a smaller share on larger projects.

Who owns the code and the models?

You do, once the work is paid for, including any model tuned or evaluated on your data.

// where we work

Find your market.

We work from Kelowna with clients across Canada, the United States and further afield. Each market page covers working hours, hosting, the privacy law that applies, and prices in your currency.

// next

Not quite your project?

Tell us what you have in mind. We will come back to you with a range and the questions that would narrow it. Or book a call and talk it through.

Software for staffing agencies: shifts, matching and timesheets | Atheron Network Labs