Scheduling Platform
Custom availability algorithms.
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
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.