The whole school, in one place
Add a credential file and the tracks, dashboards, categories and transcript follow. Change it and the track regenerates.
school/harborlight/
├── school.json # name, words, modules, theme
├── credentials/
│ ├── trauma-informed-therapist.json
│ └── license-renewal.json
├── help/ # optional: your own guides
└── certificate-assets/ # optional: logo, signature
Every word is the school's
Roles and units come from the folder, and the interface uses them everywhere, help pages included.
| Word | Harborlight | Guide Dog School | Copperline |
| student | clinician | trainee | officer |
| supervisor | supervisor | mentor | shift lead |
| instructor | presenter | instructor | instructor |
| hour | clock hour | hour | training hour |
| course_hour | CE hour | contact hour | training hour |
Seven colours, a whole theme
Each school names seven seed colours; the platform derives the 38 variables of the light and dark themes, and the studio follows.
Modules switch on per school
A school without dogs has no dogs pages. A school with payments off never asks anyone to pay.
| Module | Harborlight | Guide Dog School | Copperline |
| payments | on | off | on |
| certificates | on | on | on |
| authoring | on | on | on |
| studio | on | on | on |
| subjects | off | on | off |
Built to be extended
- A new kind of class block is one entry in the block list plus a sample config; a conformance test fails until both exist, and the editor, validation, publishing and student view pick it up.
- A new dashboard view is one definition with a schema; schools then place it per role in their own config.
- A new look is a skin: the controls contract names every job a control does, and each skin implements it. Pages never name a colour, only a state ("done", "due", "failed").
- Something other than people on a track is the subjects module: a dog today; a horse, an aircraft or a vineyard block tomorrow, each with its own schema and due-by-age requirements.
- A new school in production is one script: it creates the school's database, applies the schema, names its first admins, then makes its site, file bucket and secrets.
Nursing and allied-health CERenewal cycles with mandated topics, plus specialty certificates with clinical hours.
credential: renewal + specialty
Yoga teacher trainingA 200-hour programme split into techniques, anatomy, philosophy and practicum, with contact-hour minimums.
rule: synchronous minimum
Trade apprenticeshipsElectricians or plumbers logging on-the-job hours under a journeyman, with classroom hours per year.
rule: supervision ratio
Therapy-dog and K9 teamsHandler and dog on parallel tracks: the handler's classes, the dog's evaluations and re-certifications.
module: subjects
Flight instructionGround school, dual and solo hours, check rides; the aircraft's own inspection track as a subject.
type: examination
Doulas and birth workersWorkshops, attended births with sign-off, reading list and a final review.
type: documentation
Coaching certificationCoach-specific training, mentor coaching, logged client hours and a performance evaluation.
rule: minimum duration
Volunteer academiesSearch and rescue, wildfire crews, festival staff: modules, field shifts and a practical before the first deployment.
rule: prerequisite gate