Education · App Starter
Gradebook, attendance, report cards, and a parent portal — a working SIS generated into code your school controls.
District-scale student systems are priced, sized, and locked down for districts. This starter generates the SIS a single school actually needs — enrollment, daily attendance, a gradebook that produces report cards, and a portal guardians can log into — as an application your school runs itself, with student records in a database you hold.
01 · Data model
Six tables model the school year. They're deliberately conventional — any registrar would recognize the shape — which is what makes report cards, transcripts, and state reports derivable from them rather than a separate product tier.
| table | what it holds |
|---|---|
students | The permanent record's spine: demographics, grade level, enrollment status, and links to guardians, classes, and marks. |
guardians | Parents and caregivers with contact details, custody and pickup flags, and portal credentials — one guardian can span siblings. |
classes | Sections with teacher, subject, term, room, and meeting schedule — the unit attendance and grades hang from. |
enrollments | Which student sits in which class for which term, with add and drop dates so mid-year moves don't corrupt history. |
attendance_records | One row per student per class meeting — present, absent, tardy, excused — timestamped and attributable to the teacher who took it. |
grades | Scores on assignments and assessments, weighted by category, rolling up to term marks and the report card. |
02 · Screens
Teachers enter scores against assignments grouped into weighted categories — homework, quizzes, exams — and term averages compute live. The weighting scheme is your school's policy expressed in code, so a standards-based or narrative model is a change you can make, not a product you can't buy.
Homeroom or per-period, a teacher takes attendance in under a minute from a class roster screen. Patterns surface automatically: a student crossing an absence threshold appears on the front-office list the same morning, while the record itself stays audit-ready for compliance reporting.
Term marks, attendance summaries, and teacher comments assemble into printable report cards generated straight from the live tables. No export-to-spreadsheet ritual at the end of each term — the report card is a view of data the school already keeps.
Guardians sign in to see their own children's grades, attendance, and announcements — scoped strictly by the guardian link, including split-custody arrangements. The awkward phone calls about a missing assignment become a screen the family already checked.
03 · Process
Grade levels, term structure, grading scale, attendance style — tell Dual7 how your school actually operates. A semester-based middle school and a trimester Montessori program get different configurations of the same bones.
Work with the running system conversationally: add a behavior-note field, change the tardy policy, put your letterhead on the report card. Each adjustment lands as reviewable code.
Deploy onto infrastructure your school chooses, through approval gates with a full audit trail. Student records never transit a vendor's cloud on the way to yours.
04 · Fit
The big student systems quote per-student annual fees that assume a district office is paying. A 200-student school gets the same core needs — enrollment, attendance, grades, portal — from a generated app whose cost doesn't multiply by headcount.
Mastery-based progression, mixed-age cohorts, narrative evaluations — the pedagogies these schools exist for are precisely what off-the-shelf gradebooks can't represent. When the grading model is your own code, the software follows the pedagogy instead of vetoing it.
Language schools, religious schools, and enrichment academies need real rosters, attendance, and progress reports a few hours a week — a footprint no full-time SIS prices sanely. This starter scales down honestly because there's no license floor beneath it.
Accreditation reviews and state audits ask for attendance histories and grade-change trails on demand. A system whose records sit in your own database — with every change attributable — turns those requests from panic into a query.
05 · Yours
Schools differ in exactly the places vendors standardize. Add the fields your enrollment actually tracks — allergies, bus route, scholarship status, sacrament records for a parochial school. Reshape terms into trimesters or quarters. Swap the A–F scale for standards-based proficiency bands, and the gradebook, report card, and portal all follow, because they read from the same schema you just changed.
Beyond fields, whole capabilities graft on cleanly: a billing module tied to enrollments for tuition, a health-office log, state-format attendance exports, or an admissions pipeline feeding the students table. The generated system is an ordinary full-stack application with no runtime tie to Dual7, so a local developer — or Vibe mode — can keep evolving it for as long as the school exists.
Student data is the strongest ownership argument on this site. Grades, attendance, and family contact details are records a school is legally and ethically obliged to protect — and with a generated system they live in a database the school holds, under access rules the school can read as code. FERPA conversations get simpler when the answer to 'where is the data?' is a server you administer.
There's also a continuity argument: schools outlive software vendors. A subscription SIS that sunsets or triples its price forces a migration in the middle of a school year. Code you own has no sunset date — the worst case is maintenance, which the governed pipeline keeps orderly with gated changes and an audit trail.
A working SIS in code your school owns: students, guardians, classes, enrollments, attendance_records, and grades, plus a teacher gradebook, daily attendance screens, generated report cards, and a guardian portal scoped per family.
Yes — scale and terms are configuration you describe up front and code you can change later. Letter grades, percentages, standards-based bands, semesters, trimesters, or a custom academy calendar all fit, because the rollup logic is yours to edit.
Access flows through the guardian-student link, which carries custody and contact flags per relationship. Each guardian sees exactly the children they're linked to, and a restricted guardian can be limited or removed without touching the student record.
The architecture helps: records live in your database, on your infrastructure, behind role-based access you control in code, with attributable change history. Compliance is ultimately about your practices, but you're not adding a third-party processor to your data map.
The schema is standard relational tables, so an import is a script over your current system's export — students, guardians, then enrollments. Historical grades can load into past terms so transcripts stay continuous across the switch.
Report cards ship in the starter; transcripts and state-format exports are derivations of the same grades and attendance tables, typically added in Vibe mode against your state's spec. Since you own the queries, next year's format change is an edit, not a support ticket.
Dual7 App Starters
Gradebook, attendance, report cards, and a parent portal — a working SIS generated into code your school controls. Describe your version to start — the output is a project you own.