Skip to content
All projects
ShippedPlatform · Algorithms· 2023

Scheduling Platform

Custom availability algorithms.

Custom
availability engine
Timezone-safe
correctness first
Fast
slot computation

The problem

“Just pick a time” hides genuinely hard problems: overlapping availability, timezones, buffers, conflicts, and performance when computing slots across many constraints.

Context

I designed a scheduling engine where availability is modelled as composable constraints, so new rules slot in without rewrites.

Architecture

Availability is expressed as a set of constraints; slot generation is timezone-correct by construction; a conflict resolution pass guarantees valid results; and computed slots are cacheable for speed.

  • Constraint-based availability model.
  • Timezone correctness as a first-class concern.
  • Deterministic conflict resolution.
  • Cacheable slot computation for responsiveness.

Technical challenges

Timezones are a minefield

DST, offsets, and ambiguous local times make correctness subtle. Modelling time carefully up front avoided a class of bugs entirely.

Engineering decisions

Constraints over special cases

Expressing availability as composable constraints kept the engine extensible instead of a pile of conditionals.

Technologies

TypeScriptNode.jsPostgreSQLAlgorithms

Results

A fast, correct scheduling engine that handles real-world messiness without becoming unmaintainable.

Lessons learned

  • Model the domain well and most bugs never get written.
  • Caching computed results beats optimising the computation.

What I’d improve today

  • Probabilistic “best time” suggestions from historical acceptance.