Skip to main content

The platform, module by module

Everything Saathi does, and how we know it works

Each section below says what the module is for, what it actually does, and the acceptance criterion the build has to pass. If a claim cannot be tested, it is not on this page.

Assessment

Assessment that survives a real school day

Start a checklist, get pulled away, come back tomorrow — the responses are already saved.

  • Custom checklists per stream and level, versioned: editing an active template clones a new version instead of rewriting history.

  • Every response autosaves the moment it is entered, with a visible "Saved ✓" and timestamp.

  • Standardized instruments are score entry only — Saathi records what a qualified professional administered and never reproduces copyrighted item text.

  • Historical assessments can be entered with the real administration date and are flagged as transcribed.

Acceptance criterion: an assessment closed halfway through resumes at the same item with every prior response intact.

A diagram of the assessment screen: a checklist of domain items, each with a five-point prompt-score selector and an autosave confirmation.

Profile & placement

A profile the whole team can read the same way

One picture of the child across 18 domains — and the numbers behind it, for anyone who prefers numbers.

  • Per-stream radar charts across the domain set, each chart paired with a synchronized table view of exactly the same data.

  • Support intensity is a single-hue depth ramp labelled L1–L4 in text — never a green-to-red scale, because that would morally code children by how much help they need.

  • The system suggests a placement group; the coordinator can override it, but the reason is required and the override is audit-logged.

  • A confirmed profile snapshot is frozen. The next review creates a new one, so the child's history is never rewritten.

Acceptance criterion: every chart on the profile has a table toggle showing identical values, and an override without a reason cannot be saved.

A diagram of the profile screen: a radar chart across domains beside the same values in a table, with support-intensity chips labelled L1 to L4.

Action plan

Goal selection without a mouse

The team shortlists and orders candidate goals per stream in a meeting, on whatever device is in the room.

  • Candidate goals are proposed per stream from the confirmed profile, then accepted, edited or dropped by the team.

  • Reordering works by keyboard and by explicit move-up / move-down buttons; dragging is an enhancement, never the only way (WCAG 2.2 SC 2.5.7).

  • Goals carry the child's strengths as links, so the plan is written against what already works.

Acceptance criterion: the full ordering flow completes with the keyboard alone, and the e2e suite runs it that way.

A diagram of the action-plan screen: candidate goals in a reorderable list with move-up and move-down buttons.

IEP

An IEP that cannot go live behind a parent's back

Draft → in review → approved → parent signs → active. No shortcut through that sequence exists.

  • Vision statement, present levels from the confirmed snapshot, service lines, accommodations and goals in one versioned document.

  • Parent consent is a digital signature captured in the portal; the IEP activates only after it is recorded.

  • Amendments create version 2 and re-parent the goals rather than cloning them, so trendlines survive. The prior version becomes read-only.

  • A print view produces the paper copy a family or an external professional expects.

Acceptance criterion: at most one active IEP per child, and the signature flow is completable with a keyboard only.

A diagram of the IEP screen: the status trail from draft through review and approval to parent consent and active.

Yearly & monthly

A year with three checkpoints, not one

Annual goals break into term milestones and then into monthly objectives that are actually measurable.

  • Each goal gets a milestone per term, reviewed on a date derived from the school's own academic-year calendar.

  • Objectives refuse to save unless they are complete: condition, behaviour, measurement type, criterion and the consecutive-session rule are all required.

  • Objectives are open-ended clinical objects, not re-created every month — the monthly plan assigns existing objectives, so streaks and trendlines cross month boundaries.

  • The activity library suggests activities matched to the child's recorded strengths and interests.

Acceptance criterion: an incomplete SMART objective cannot be saved, and mastery streaks continue across a month boundary.

A diagram of the yearly plan: one goal with a milestone in each of the three terms.

Daily logging

Under a minute, with a child in front of you

If logging is slow, it does not happen — so the session screen is budgeted in seconds and measured.

  • Tap through trials, set a prompt level, add an optional note. Targets are 44px, and the whole screen works one-handed.

  • The open-to-complete time is recorded as a first-party analytics event so the school can see whether the budget is holding.

  • Group sessions, individual therapy, classroom periods and home programmes all log through the same screen.

  • Incidents use a structured ABC form instead of free text, so behaviour data is countable later.

Acceptance criterion: a full objective log completes inside the 60-second budget. Try the demo below — it is a real interaction, with no backend.

Worked example — no real child, no data leaves this page

Requests a turn using a two-word phrase

Speech, communication & behaviour · trials · criterion 80% across 3 consecutive sessions

Elapsed: 00:00

Trials (0 of 10)
Prompt level for this session

This objective over time

criterion 80%

Five demo sessions, then the one you are logging. The dashed line is the mastery criterion.

Press Correct or Incorrect to log the first trial.

Progress & flags

Progress computed, never claimed

Mastery fires from the data. Nobody types "doing well" into a box.

  • Mastery is the unit-tested formula: the criterion met across the required number of consecutive sessions, and it fires exactly once.

  • Risk flags surface objectives that have stalled, sessions that were not logged, and children whose attendance has slipped.

  • Charts mark the criterion with a labelled dashed line, star mastery events, and draw a phase-change line whenever a target is edited.

  • Series are distinguished by shape and dash pattern as well as colour, on a colourblind-safe palette.

Acceptance criterion: the mastery and flag formulas live in lib/logic and are covered by unit tests, not embedded in a page.

A diagram of the progress chart: a rising trendline with a dashed criterion line and a star marking a mastery event.

Reports

The report is the HTML, and the HTML is immutable

One canonical artifact a screen reader can read, a printer can print and an auditor can verify.

  • Accessible HTML is the canonical report; the PDF is generated from that exact document, so the two can never drift.

  • Publishing computes a SHA-256 content hash and locks the version. A correction publishes a new version that supersedes the old one — nothing is overwritten.

  • Report types cover baseline, term progress, annual review, transition and a clinical summary written for an external professional.

  • Documentation for RPwD Act categories and UDID records is produced from the same data the team already entered.

  • Publishing is blocked while the report depends on clinical configuration a coordinator has not yet verified.

Acceptance criterion: republishing produces a new version with a new hash, and the superseded version stays readable.

A diagram of the published report: an accessible HTML document with a version number and a content hash.

Parent portal

A portal a parent will actually open

18px type, plain language, one thumb, on the phone the family already has.

  • A feed of what happened this week, with the skill story showing where a target started and where it is now.

  • Home activities with blame-free skip reasons — the honest answer is always available and never scolded.

  • Meetings, messages with the caseload team, and every consent the family has granted or withdrawn.

  • Read-only for a discharged child, so a family never loses access to their own history.

Acceptance criterion: the portal renders at 18px minimum and passes axe with zero serious or critical findings.

Offline & paper

Built for the days the power goes out

A durable write queue, printable session sheets, and honest backdated entry afterwards.

  • Logs written while the connection is down are queued durably on the device and synced when it returns, with a visible sync state.

  • Printable session sheets, attendance registers, checklists and ABC forms cover the paper fallback.

  • Entering yesterday's data is an explicit backdated action — the record shows the real session date and the real entry date.

Acceptance criterion: the e2e suite drops the network mid-session, restores it, and asserts the log arrives exactly once.

Accessibility & safety

Accessibility is a build gate, not a promise

The suite fails if a page regresses. That is the only kind of accessibility commitment worth printing.

  • WCAG 2.2 AA across staff, parent and public surfaces, verified by axe in the end-to-end suite on every page it visits.

  • Every mutation touching a child writes an audit row; role capability and student scope are re-checked server-side on every action.

  • Photo and video are gated on active consent at write time and at render time.

  • No third-party trackers anywhere in the product or on this website.

Acceptance criterion: zero serious or critical axe violations, asserted in CI rather than reviewed by eye.

See it with your own data

Schools: we will walk you through the whole loop with sample records and answer the awkward questions. Parents: come and see a school day instead.

Already a Saathi family? Sign in to the parent portal