The WebLift logo
Back to projects
Mishmar
Internal tool · shift scheduling2026

A fair shift-assignment system with a justice-points engine

A Hebrew web app for automatic, fair assignment of guard shifts and duties in a security organisation. A 'justice points' engine distributes shifts fairly while avoiding consecutive days and monthly caps — alongside a shift-swap marketplace, cadre and security-task management, a leaderboard and dashboards for commanders and soldiers.

The challenge

Assigning shifts and duties in a security organisation was done by hand in spreadsheets — slow, error-prone, opaque, and hard to keep fair. They needed an engine that distributes shifts fairly (justice points, class weights, avoiding consecutive days and monthly caps), keeps full transparency, and supports swaps and monthly tracking — all in one place.

The outcome

A complete full-stack application was built and shipped (Vercel + PostgreSQL): assignment generation, swaps and a swap marketplace, cadre, security tasks, cleaning duties, leaderboards and permission-based dashboards. It includes Excel import/export, Google Sheets sync, calendar export and scheduled jobs — and its landing page marks it 'version 2.0'.

Tech Stack

Next.jsTypeScriptReactPrismaPostgreSQLGoogle Sheets APITailwind CSSZustandVitestVercel

How we worked

The five stages from idea to launch.

  1. 1Modelling the organisation (branch → section → team), the roles and the fairness rules
  2. 2Building the assignment engine: justice points, class weights, avoiding consecutive days and monthly caps
  3. 3Excel import/export, two-way Google Sheets sync and calendar (iCal) export
  4. 4A shift-swap marketplace with two-sided approval and collision detection, cadre, security tasks and cleaning duties
  5. 5Permission-based dashboards, a leaderboard, scheduled jobs (cron) and launch on Vercel

Have a similar project?

We'd love to hear your idea and think through how to get it live together.

Talk to us