Back

Scheduling & Productivity

MyPrepTime

A system for managing teacher preparation time across school boards.

Blazor
ASP.NET Core
SQL Server
Hangfire
Azure App Services

Overview

Teacher preparation time (prep time) is a contractual entitlement that school boards must track and schedule accurately. MyPrepTime is a web application that automates the scheduling, tracking, and reporting of prep time across schools.

What I Built

  • Designed the data model to handle complex scheduling rules (per-teacher entitlements, per-school allocations, coverage constraints)
  • Built the scheduling engine that assigns prep blocks while respecting constraints
  • Implemented background processing with Hangfire for scheduled jobs: nightly recalculations, report generation, and email notifications
  • Deployed to Azure App Services with automated deployment pipelines
  • Built a Blazor UI for administrators to view schedules, override assignments, and run reports

Notes

The scheduling problem has more edge cases than it looks — partial days, split coverage, teacher absences, and mid-year entitlement changes all require careful handling. The engine went through several iterations before handling the full range of real-world scenarios the boards encountered.