Skip to content
All work

Case study

AI-Powered Student Information System

In plain English

District staff manage students, attendance, and special-education plans: each person only sees what they are allowed to see.

AI cites source fields and refuses to invent missing facts.

Who it is for

  • District admins who need one place for students, staff, attendance, and compliance review.
  • Teachers, counsellors, and SpEd coordinators who must only see the students they are authorized to access.

Problem

Districts need day-to-day student operations that are reliable and easier to defend under compliance review.

Sensitive data must stay scoped by role and tenant so each staff member only sees the students and workflows they are authorized to access.

Solution

We built a multi-tenant SIS with authentication and RBAC, student profiles, attendance, and SpEd/504 plan management. Staff manage demographics and grades, record attendance, track IEP/504 deadlines, and use Claude for natural-language search, risk analysis, narrative reporting, and IEP compliance review, with PII minimized and sources cited.

Role-scoped analytics include date-range filters. Planning screens for scheduling, staffing, budget, and substitutes exist as UI demos, not persisted backends. Next.js, NestJS, and MongoDB ship as a Docker monorepo to AWS ECR.

Outcomes

A role-scoped, multi-tenant SIS covering profiles, attendance, SpEd/504, and AI-assisted review.

Claude cites source fields and refuses to invent missing facts. Unnecessary PII never leaves for the model.

Next.jsReactNestJSMongoDBAnthropic ClaudeDockerAWS ECRGitHub Actions

How it works

Staff web app, tenant-scoped SIS API, and Claude-backed analysis with PII minimized.
Staff web app, tenant-scoped SIS API, and Claude-backed analysis with PII minimized.

From login to a cited AI review

Login binds tenant and role, scope limits students, then AI cites source fields or refuses.
Login binds tenant and role, scope limits students, then AI cites source fields or refuses.

What we built

Staff product

  • Dashboard and students

    Date-range trends, profiles, demographics, grades, and risk flags. CSV grade import for district admins.

  • Attendance

    Present, absent, tardy, and excused. Summaries feed risk and AI.

  • SpEd / 504

    IEP and 504 plans with annual review and triennial reevaluation deadlines, plus AI compliance review.

  • Grounded AI

    Natural-language search, risk analysis, narrative reports, and IEP review, each citing source fields.

  • Admin and audit

    Users, roster assignments, and an audit log of UI, API, and AI queries.

How it works

The Next.js staff app talks only to a NestJS API. Tenant is bound on the JWT; every later request is rejected if the tenant does not match. Guards enforce permission keys; student access is district, roster, caseload, or SpEd caseload.

A PII minimizer sends fact tuples to Claude. Responses must cite those fields. Missing facts return as missing instead of invented. Scheduling, staffing, budget, and substitutes are demo UI only.

Integrations

  • Anthropic Claude

    Grounded district AI with PII minimization and source citations.

  • MongoDB

    Multi-tenant student operations with tenant id on every document.

  • AWS ECR and GitHub Actions

    PR checks, versioned images, and Dev/QA deploys.

Have a similar challenge?

Start a project