Fivexer

For anyone deciding whether Fivexer is the thing they have been looking for

One engine decides who does the work

On the roster you publish on Sunday, and on the call-in at 05:41. Everything here is checkable before you talk to anyone — two engines that run in your own browser, a published week with a conflict already in it, and the source of both.

A worker in a hard hat holding a tablet against a warehouse rack, checking a label.
  • One model builds the roster and allocates the live work — same people, same rules, same record.
  • No country’s legal limits ship as defaults. Yours are enforced, and explained in words.
  • Every decision is recorded as one sentence: who took it, and who was ruled out by which rule.
  • MIT engine, EU-hosted cloud, and a DPA you can read before anybody emails you.

Scheduling tools stop at publish. Routing tools start after the job arrives.

A workforce suite plans the week and goes quiet. A router allocates tickets and has never heard of a rota. The gap between them is where a contractor’s morning goes — and where the record of who did what, and why, does not exist.

Planned · the rosterSites, posts, people, qualifications, contracts, availability and rules — validated, ranked, solved, versioned and published.
The seamThe person the roster put on Northgate at 06:00 is the person the router considers at 09:12, at the capacity the roster says they have — and the call-in at 05:41 is judged by the rest rule the roster was built under.
Live · the dayTickets, jobs, cases and cover, matched on skills, capacity, priority and fairness against the people who are actually on shift.

What each kind of tool does with the same six questions

The questionSpreadsheetScheduling appWFM suiteTask routerFivexer
Who works Thursday night?under rest, hours and qualification rulesby memoryyes, templatesyesnoYes — your rules, explained
Who takes the ticket that just arrived?live allocation on skills, capacity and prioritynononoyesYes — against who is on shift
Who covers Anna at 05:41?into qualified, rested, nearby replacementsfive phone callsopen-shift boardopen-shift boardnoYes — ranked, with exclusions
Why him and not her?a record a worker or an inspector can readnorarelyaudit logsometimesEvery decision, one sentence
Whose legal limits are these?vendor defaults against rules you configureyoursvendor templatesvendor packsnot applicableYours only. None shipped.
Can we read the engine?open source, API, self-hostingnot applicablenonoAPI onlyMIT engine, API and MCP

Columns are categories, not named products, and describe what those kinds of tool typically do. Where a specific product does one of these, good — the row that matters is whether one tool does the whole column. Named, sourced and dated comparisons live under /alternatives/.

Family 1 · Routing

Live work allocation

For the ticket, job or case that arrives during the day — the engine you can watch run in your own browser.

Run the routing simulator →
  • Skill-based matching

    Tags and weighted skills decide eligibility; a zero weight is a hard veto. Thresholds and CIDR rules are checked before scoring.

  • Capacity and backlog caps

    Per-worker limits so nobody is buried. Paused people leave matching without losing the queue they already hold.

  • Priority, escalation and SLA

    A response clock, a completion clock and a rejection budget, each with its own breach event and counter.

  • Fairness as a policy switch

    First-come, best-match, balanced or spread-work, plus a rolling-window grant cap so busy people lose near-ties.

  • Decision traces

    Every candidate and every reason, captured during the matching pass rather than reconstructed afterwards.

  • Queue audit

    For each task nobody has taken: who could take it, and what blocks the rest — on break, no tag match, at capacity, uncovered tag.

  • Workflows

    Multi-step work with decisions, parallel branches, retries and a dead-letter queue — drawn on a canvas, not coded.

  • Learning, opt-in

    A contextual bandit re-ranks candidates who are already eligible. Hard rules always run first and stay deterministic. Off by default.

  • Worker portal

    A phone-first app: shift on and off, breaks, the queue, accept or decline, cover offers. Your branding, their own PIN.

  • Time and attendance

    Measured shifts, breaks and worked time, kept as a record. Never a rating and never an input to allocation.

Family 2 · Scheduling

Constraint-aware rostering

For the week that has to exist before any of that happens. Pure, Redis-free, and shipped as open source.

Workforce scheduling →
  • Sites, posts and shifts

    A post is a responsibility at a site with a requirement on it. Bands, headcount per cell, unpaid breaks, and what each shift counts as.

  • Rules as sentences

    Rest, hours, nights, breaks, contracts and fairness, with your figures set into the sentence and its provenance beside it.

  • Rolling windows, not calendars

    “48 hours in any seven days” means any seven days. A fixed weekly grid silently misses the breach that straddles it.

  • Solve, validate, rank, repair

    Scoring is lexicographic, so no soft gain can buy a hard breach — and the solver and the compliance check share one judgement path.

  • Versions and publishing

    The diff before you publish, pending leave surfaced at the same moment, and notice arithmetic against an explicit “now”.

  • Absence and cover

    Candidates grouped as based-here, a known journey away, or travel unknown. Offer with an expiry, or fill directly.

  • Multi-site travel

    Asymmetric minutes between sites and a hard travel-gap rule read over the whole person’s timeline, history included.

  • Contracts and pay

    Part-time as a fraction, overtime consent, time off in lieu, clock bands and day premiums. Estimates of the plan, never payroll.

  • Public holidays from a location

    Country and region calendars drawn on the grid, credited to the data source they come from.

  • Profiling-free by construction

    Ranking never reads acceptance history or a reliability score, and every result asserts it in its own provenance.

A long assembly line seen down its length, a dozen people in blue workwear at their stations.
One line, one shift, a dozen people. Every name on it was decided by the roster the night before, and every job that arrives during the day is decided against who is actually standing here.

Ten things you can check today, without a sales call

A claim a buyer cannot verify is marketing. Each one names the place on this site where you can watch it happen — no account, no call.

  1. 01

    The router runs in your browser, on real code.Seven named agents, a ticket you write, and the decision with its margin — no account.

    /app — press “Route this assignment”.

  2. 02

    The rota engine runs in your browser too, on the same week.A published week with a rest conflict in it, checked against rules you can change on the screen.

    /app/roster — press “Check the week”.

  3. 03

    Every decision is a sentence, not a score.“Not eligible: only 9 hours’ rest since the previous shift” — the words the product actually emits.

    The call-in, and the decision log in any workspace.

  4. 04

    No country’s legal limits ship as defaults.A blank rule is not checked. Start from a published pack and edit every figure, or start from a blank sheet.

    The rules documentation.

  5. 05

    The scheduling engine is open source.MIT, pure TypeScript, no Redis. Read the constraint classes; run the benchmark yourself.

    The engine and its repository.

  6. 06

    Cover ranking is profiling-free.No reliability score, no no-show prediction, no acceptance history — asserted in every result’s provenance.

    Time off and cover, and the source.

  7. 07

    Routing data stays in the EU.Every subprocessor named, including the two that are not in the EU and what covers them.

    Data residency and /security/.

  8. 08

    The DPA is published, not negotiated.Read it before anyone emails you. Versioned, and already in force through the terms.

    The DPA.

  9. 09

    Pricing is on the page, per workspace, from free.No per-seat licence, so a contractor that wins a site adds people rather than licences.

    Pricing — with the alternative’s bill at the same volume beside it.

  10. 10

    It talks to your own tools and agents.SDKs in five languages, webhooks, and an MCP server your coding agent can drive directly.

    The MCP server — one command to connect.

And what it is not

Printed here so nobody discovers it on the first call.

It replaces

  • The rota spreadsheet and the group chat that covers it
  • A dispatcher deciding from memory who gets the next job
  • Rest and hours checked in somebody’s head

It works beside

  • Payroll, accounting and invoicing
  • Your HR system of record
  • Your ticketing, CRM or field-service app, over the API or MCP

It does not

  • Forecast demand or headcount
  • Prove attendance by GPS or photograph
  • Hold SOC 2, or offer a contractual SLA — both stated on /security/
  • Decide whether stand-by counts as working time — you classify it, the engine does the arithmetic

Three ways in, none of them a form

Routing · two minutesRoute a ticket against seven agents

Write one, watch the engine choose, then read the margin and the exclusions.

Live simulator →
Scheduling · five minutesCover Thursday’s call-in

A published week with a conflict already in it. Fill it or offer it, and read the record it writes.

Rota simulator →
Engineers · ten minutesSolve the example roster from a terminal

People, shifts, sites and rules in; a versioned roster with explanations out.

Rostering API →

Questions we get asked first

What does Fivexer actually do?

Two things on one model: it builds staff rosters under the working-time rules you configure, and it allocates live work — tickets, jobs, cases and shift cover — to the people who are on shift and qualified for it. Every decision is recorded with the reason.

How is this different from a scheduling app or a WFM suite?

Scheduling tools generally stop when the roster is published, and routing tools generally start when a job arrives. Fivexer carries one model across both, so the person the roster put on site is the person the router considers, judged by the same rules.

Is any of it open source?

Yes. The matching and scheduling engine is MIT-licensed and published, and the hosted cloud runs the same engine. You can read the constraint classes, run the benchmarks, or self-host.

Do we have to replace our existing systems?

No. Fivexer works beside payroll, accounting, HR and your ticketing or field-service tools, over an API, webhooks or MCP. It replaces the rota spreadsheet and the group chat that covers it.

What does Fivexer deliberately not do?

It does not forecast demand, prove attendance by GPS or photograph, run payroll, or decide whether stand-by counts as working time. It holds no SOC 2 certification and offers no contractual SLA today; both are stated on the security page.

Fivexer — skill-based routing, hosted in the EU or self-hosted on the open-source (MIT) assignment-user-matcher engine. Testreel OÜ, Aiavilja tn 9-8, Paide linn, 72712 Järva maakond, Estonia (reg. 12592678).

Photography by ThisisEngineering, Javad Esmaeili, Rodrigo Rodrigues, Glenn Hansen, X F, Adrian Sulyok, Ali Mkumbwa, Remy Gieling, Jack Lucas Smith, Josh Marty, via Unsplash. Trust pages last reviewed 23 August 2026.