Skip to main content
§ Product

Workforce Scheduling Engine

A workforce-scheduling optimizer that produces shift assignments against the business's constraints (skills, availability, labor law, demand forecasts) — runs weekly or daily depending on the cadence, with manager-side UI for review and override.

Engagement
8–12 week build · ongoing operation
Built for
Operations managers · HR ops · Store managers · Practice managers
§ Problem

Workforce schedules at most multi-location operations are built weekly in spreadsheets by managers who balance staff availability, labor-law constraints, demand forecasts, and skill requirements by hand — producing schedules that are workable but rarely optimal and almost never auditable.

What this is

A workforce-scheduling engagement built around classical OR for the assignment problem. Three layers:

  • Constraint formulation. Per-business constraints (skills, availability windows, max-hours, break requirements, jurisdiction-specific labor law) expressed in the optimization model.
  • Solver. OR-Tools constraint programming for most cases, mixed-integer programming where the problem warrants it. Multi-objective optimization (cost vs. coverage vs. fairness) where the business cares about more than one dimension.
  • Operational integration. Weekly or daily schedule generation, manager UI, integration with the business's HR or time-tracking system for publish-and-clock-in.

How it's built

OR-Tools CP-SAT solver as the workhorse, with mixed-integer formulations via Gurobi or CBC where the problem structure justifies. Python orchestration for the per-cycle problem formulation and post-processing. Manager UI as a lightweight React app or integration into the existing scheduling SaaS where the API permits.

What you get

  • The formulated constraint model.
  • The solver deployment.
  • Weekly or daily schedule generation pipeline.
  • Manager UI for review and override.
  • Per-jurisdiction labor-law constraint library, documented.
§ How we engage

Engagement is shape, not list.

Length and price are functions of the data and the destination. The shape below is the typical engagement.

Length
8–12 week build · ongoing operation

Scoped during the discovery call against the actual data and the operation it integrates with.

Lead
Bogdan

Principal engineer. Architecture and most code ships through one keyboard.

Cadence
Async, weekly

Written updates between, calls when the decision needs the room.

Bar
Production

Async correctness, capacity under burst, observability at every boundary.

§ Questions

What buyers ask about this one.

  • Doesn't every workforce SaaS (WhenIWork, Deputy, 7shifts) do this?

    Those handle the transactional layer (shift-trading, time clock, communication) well. The optimization layer in those products is typically rule-based with limited constraint handling. For multi-location operations with complex skill-and-availability matching, real labor-law constraints (predictable scheduling laws, overtime thresholds, break requirements), and demand-aligned staffing, dedicated optimization captures structure the SaaS misses.

  • What labor-law constraints are encoded?

    Per-jurisdiction. Predictable-scheduling laws (e.g., NYC, San Francisco, Seattle, Oregon), overtime thresholds (federal and state), required-break scheduling, minor-employment restrictions. The constraint library compounds across engagements; new jurisdictions are added as needed.

  • How does it integrate with demand forecasting?

    Where the business deploys the Demand Forecasting & Inventory Engine for retail/hospitality demand, the scheduling engine consumes the forecast directly. Where the business has demand forecasting elsewhere, integration is via API or scheduled feed.

  • What's the manager-side experience?

    The engine produces a draft schedule. Manager UI shows the schedule with the constraint-satisfaction reasoning surfaced — why each shift was assigned this way. Manager edits trigger re-optimization for the downstream cells. Schedules are publish-ready when the manager finalizes.

  • Pricing?

    Scoped to location count, employee count, and constraint complexity. Discovery call covers all three.

§ The next step

If the deliverable matches the gap, the next step is one call.

We'll scope length and price against your data and the operation it integrates with. No retainer, no fishing.

Bogdan and team · async-first · OP—2026