Create subjects and classes
Add the subjects taught in school, then create classes with a year group and class name. A class can have many subjects, and the same subject can be taught across many classes.
Local-first teacher reporting
Reports Master helps teachers turn classes, subjects, students, scores, and statement banks into editable report drafts. Data is stored locally by default, with optional AI generation only when enabled by the teacher.
{name} {has_have} made secure progress.
Ava has shown consistent effort and is working securely at the expected level.
Getting started
Add the subjects taught in school, then create classes with a year group and class name. A class can have many subjects, and the same subject can be taught across many classes.
Assign teachers per class subject, with a bulk option for primary class teachers and per-subject overrides for specialist lessons. Students are assigned to classes and receive scores per subject.
Reports Master automatically creates every required statement row for your class subjects and score labels. Fill in the missing text once, then reuse it across matching students.
Generate rule-based or optional AI-assisted drafts, review and personalise the text, then export final reports as CSV or one-page-per-student PDF output.
Documentation
Use the Subjects page as the master list. On the Classes page, choose subjects from that list rather than typing free text. This keeps statement generation and student scoring aligned.
In class edit mode, use Set all subjects to to fill every subject with a class teacher, then override individual subjects such as PE, Computing, or Music.
Students belong to a class. Their effort and attainment scores are stored per subject, so primary and secondary class structures can use the same reporting flow.
Statement text can include pronoun and grammar placeholders: {name}, {they},
{them}, {their}, {is_are}, {has_have},
{was_were}, and {s}.
Generated drafts are editable. Teacher edits are preserved, and generation skips edited drafts unless a later workflow explicitly replaces them.
Reports Master is local-first. Optional AI generation only runs after an API key is saved and the teacher chooses AI generation for a class or all classes.
Import and export
CSV imports read the header row and let teachers map columns to app fields. Obvious column names are matched automatically before validation and import.
year_group,subjects,class_name
Year 5,"English, Maths, Science",5R
Student imports support names, pronouns, class, subject, effort score, and attainment score. Scores are validated against the current score labels.
class,subject,first_name,last_name,pronoun_set,effort_score,attainment_score
7A,English,Ava,Patel,she-her,1,Expected
Statement imports update matching auto-created statement rows by year group, subject, score type, and score label.
year_group,subject,score_type,score_label,statement_text
Year 7,English,effort,1,{name} {has_have} shown excellent effort.
CSV export includes one row per student report. PDF export creates one page per student with all subject report text included.
Desktop builds
The release workflow builds Windows and macOS variants when an app-v* tag is pushed.