Classroom managementprototype

Teacher Dashboard

The school wifi drops and the lesson still starts at 8:40. A dashboard that opens from disk doesn't care.

The classroom problem

Every teaching day opens with two questions: what’s on for each class, and what to print before the bell. A hosted dashboard answers both until the wifi drops. One classroom already runs the answer — a Python script that generates a single offline HTML file, opened from disk. That file’s whole course lives inside the script that generates it. Handing the tool to a second teacher means editing Python.

The design decision

One JSON file holds the course. One schema describes that file. The renderer and the validator both read the schema, so they stay in step. Content and code, finally separate.

Two other designs got part-built and dropped: an AI-prompt importer and a guided form. Both put a layer between a teacher and the one file that matters.

How it works

One file goes in and three kinds of page come out — a dashboard, a year calendar, and a page per lesson carrying its objectives and timings. Nothing is typed twice.

A course can be half-written: a unit can be a title and a lesson count, and the calendar still places it. The build checks the file against the schema and names the lesson when something’s wrong. It bundles into one downloadable file, every page inside it — which is where this started.