Skip to content

OrbitEngineer on-call rotation scheduler

Weekly round-robin rotations with overrides and shift swaps, backed by Postgres.

How the schedule works

  1. A rotation has an ordered list of member engineers, a cadence (7 days = weekly), and an anchor date (the start of period 0).
  2. For any date, the base on-call engineer is members[floor(daysSinceAnchor / cadence) mod memberCount].
  3. Overrides replace the base engineer for a date range. Swaps are just two reciprocal overrides that share a swapGroupId.

The base rotation is always computed, never stored — so removing an override instantly restores the original schedule.