We Keep The Record. Your Teachers Teach.
Every chapter read, every test taken, every option chosen and why it looked right — held per student, from the day they join. Your teachers open a page and already know who needs them, what to reteach, and how.
Class teacher and subject teacher see different pages · Every contact reveal is logged · Nothing invented for the dashboard
Not a row in a spreadsheet. A record.
Every student in the class has a page that holds what they read and when, every test they sat, and every option they picked — kept from the day they join, and readable in ninety seconds standing in a corridor.
- What they read, and what they only tested Chapters read, chapters tested, and the two lists that matter — read but never tested on, and tested without ever opening the material. Named, not counted.
- Every test, foldered Twenty-nine attempts at one chapter is a folder, not twenty-nine rows. Chapter tests and full papers stay on separate axes — a percentage of twenty questions and a mark out of 720 are not the same unit.
- What they had, and lost Answered right on the retry, then failed the same idea worded differently a few tests on. The idea is named first — a teacher cannot act on a wall of question stems.
- Pace, only when it cost them Fast and wrong, or slow and wrong. Speed on its own is not a problem — a fast student who scores well is just a fast student.
Scoped, and said out loud. A subject teacher sees her own subjects and the page tells her so — "31% how far through" means something different across one subject than across three. A class teacher sees everything, including the Physics-shaped hole, because a subject with no data must not vanish from the page.
Not what they got wrong. Why.
A student who picks the same wrong option across six questions does not have six gaps. They have one specific wrong idea, and it is nameable.
- Open any test, question by question Every option, which one they chose, which was right — and the explanation of why the option they picked looked right. That last part is what turns a score into a conversation.
- The whole history of one idea Wrong the first time, right on the reworded retry, wrong again on the check three tests later. Retakes are excluded, because the same questions minutes later measure memory, not learning.
- A written diagnosis, with something to say The misconception, the correction, and the sentence to use at the board. Written per student, per concept, and it has been sitting in the database unread until this page.
- Gated before it is named A repeated wrong answer needs at least three picks. A concept needs enough questions before it carries a score at all. Below that the page says so rather than printing a percentage.
When the diagnosis fails, nothing is shown. A model that cannot work out the misconception writes a failure string, and the page filters it out rather than rendering it as though it were the answer. An empty block is honest; a confident non-answer is not.
What you tried, and a reminder that finds you.
Every teacher keeps their own notes on the same student. Attach a date to one and it comes back on your home screen when it is due — not in a diary you have to remember to open.
- One notebook per teacher, per student The Physics teacher's note is not on the Biology teacher's screen, not on the parent's, and not on the student's. Sixty entries kept per student, oldest rolling off.
- A date turns a note into a reminder Due today or overdue, it appears on your home screen with the first line of what you wrote — so you arrive at the conversation knowing what you said last time.
- Closing one keeps it Marking a follow-up done removes it from your list and leaves the entry in place. The history of what was already tried is the reason to keep notes at all.
- Snooze is personal, and nothing else Hide a student from your own list for up to a month. It does not clear the alert, change the roster, or alter one thing the student or their parent sees.
Private means private, including at handover. A note does not transfer when a section changes hands — the incoming teacher inherits the student's full record, not the previous teacher's opinions. The facts are shared on purpose; the notebook is not.
The class teacher routes. The subject teacher reteaches.
Same class, same data, same permissions — two different home screens, because the two jobs are different and a page that serves both serves neither.
- A class teacher is a router She cannot reteach a Chemistry question, so she is not shown one. She is shown the names, the subjects, and one pulse — and everything she carries to someone else.
- And the loop closes both ways A subject teacher can raise a student back to the class teacher in one tap. Without that, a multi-teacher setup is just several logins pointed at the same data.
- The role is per class, not per person The same teacher is genuinely the class teacher of 11-B and the Physics teacher of 12-A. One identity for both would be a lie about half her timetable.
- Your coordinator can lock it Roles are teacher-declared during a pilot and switchable to coordinator-assigned for a live rollout. One setting, no client change, and the portal already handles the refusal.
Guardian contact is class teacher only, and that is a server rule, not a hidden button. Three subject teachers independently phoning the same parent is a mess nobody can un-send. A subject teacher flags it to the one person whose job that call is.
Six names, and a sentence you can act on.
Ten checks run over every student every day. Each one produces a sentence with the number already in it — there is no severity badge to decode and no colour scale to learn.
- The sentence is the alert No "retention 48%", no "mastery below threshold". If a teacher cannot act on the sentence alone, the check does not exist.
- Ordered by urgency, not by how bad it looks A student who quietly stopped opening the app outranks one scoring 38% — the second is visible in class every day and the first is not. The ranking itself is never shown.
- Measured against your class, not a constant "Twenty seconds is too fast" is wrong for a recall question and wrong again for a numerical. Rushing is a fraction of this class's own median, and it needs five students before it means anything.
- Six, then a count Twenty-five name cards is wallpaper, not a to-do list — and a high count is a class problem that belongs in the subject cards. The share button writes the WhatsApp line for you.
Nothing fires on a new student. Three tests before any score sentence, twenty questions before any pace sentence, seven days before "hasn't opened". A teacher who is sent after a child who is merely new stops trusting the page, and never opens it again.
Which wrong answer the whole class agreed on.
Twenty students failing one question is not twenty problems. If nineteen of them picked the same distractor, it is one — and it is teachable on Monday.
- Misconceptions, clustered Five students with the same written diagnosis is a reteach. One student is a conversation. The page groups them so you can tell which you are looking at.
- A brief you could teach from Open any weak concept for the full explanation, the key points, the NCERT page it comes from, the common mistakes and every option's rationale. All of it already in the question bank; none of it has ever reached a teacher.
- And what nobody has reached Concepts the class had and lost, concepts nobody has got to yet, and concepts nobody is being tested on at all — the gap you cannot see by looking at scores.
- An empty panel says why it is empty The deep analysis runs nightly. Before it has run, the page says so — because a blank panel reads as "this class has no misconceptions", which is the opposite of the truth.
A class number needs a class. Fifteen answers across at least a few students before a concept is scored for the group — one pooled from three students who each saw five questions is not a class number, and a small cohort is told so on the page.
How far through, and how well. Never one number.
Fusing those two was the single worst defect in the portal we replaced, and it is still the default everywhere else.
- The bug this fixes The usual mastery figure averages untouched concepts as zero. A student ten concepts into sixty, answering at 90%, scores about 15% — and the heatmap bleeds red for a class that is doing fine and merely hasn't got there yet.
- Tap a score band, get the names "Eleven students are under 40% in Hydrocarbons" is only actionable once you know which eleven. This is the one place on a class screen where names appear on purpose.
- A roster you can print Every student, four groups, and a CSV with a header block and a legend — with blank cells, never zeros, where we have not asked enough to say. It gets handed to a head of department, so it has to survive being read three weeks later.
- First attempts against retakes Plus who is reading without testing and who is testing without reading — two habits that look identical in a score column and need opposite conversations.
An empty card says how much syllabus exists. A chapter with no question bank yet is a normal state during content build-out, and the page reports it as that rather than implying the class did nothing.
Students can message a teacher. And everyone knows who can read it.
A student picks a person, not a queue — the teachers who actually take their class. The class teacher can read those threads, and both sides are told so inside the conversation itself.
- A person, not a ticket queue One row per teacher who takes their class, whether or not a conversation exists yet. A teacher can open one first, too, when a flag warrants it.
- Supervision is disclosed, every time The class teacher's oversight is stated in the thread to both people, on every open. Supervision that is discovered later is worse than no supervision at all.
- Read-only means there is no reply route A supervising class teacher has no send button because the server has no send endpoint for her. Hiding a control is a courtesy; not building it is enforcement.
- Report from either side, resolve from one Both people can flag a thread. Teachers can mark one resolved and reopen it later. Nothing is ever deleted, and the whole history stays in one place.
And a separate line to us. Every teacher has a continuous thread with the NAADI team in the same screen — a number that looks wrong, a chapter that needs fixing, a feature you need. A real person replies, and the conversation stays in one place.
She assumes you know the subject. The question is how to teach it.
Nia sits on every teacher screen holding what is on it — this class, this chapter, this student, this question. She is a colleague, and she answers like one.
- A plan that fits your period Objective, prerequisite check, the sequence with timings, a worked example, the question that checks understanding, and what to set afterwards. Tell her the length; she asks if you don't.
- The analogy, and where it breaks A memorable analogy that is subtly wrong is worse than no analogy, so she tells you where it stops being true before a student finds out for you.
- She can see what you can see The flagged names on your home screen, this class's numbers, this student's record. Never a figure that is not in front of you, and never one she invented.
- Four things she will not do She does not draft messages to parents and has no contact details. She never suggests disciplinary action, never comments on a student's character or home circumstances, and never speculates past the data.
Guardian contact never reaches the model. Names, phone numbers and emails are stripped before a prompt is built — a reveal is an audited event, and a prompt would route around that audit entirely. Every boundary, written down
Six things your school can check for itself.
Every one is enforced by the software rather than promised by a page like this one, and every one is answerable the day a parent asks.
Access is checked from both sides
A teacher reaches a class only if the class is on her list and she is on the class's. A one-sided check means editing one record quietly hands over a roster. Refusals are logged.
A contact reveal is logged before it happens
Who looked, at whom, which fields, why, from where and when — written first. If the log fails, the reveal fails. Every teacher can read their own log from their profile.
The export carries no phone numbers
A spreadsheet of fifty families is a reveal for fifty families at once, and one audit row covering it would mean nothing. The roster exports without contact columns, deliberately.
Joining a class is a request, not a claim
A student typing your school code files a request and gets nothing. A teacher approves it. School and class codes are identifiers, not passwords, and no screen opens on them alone.
Roles can be taken out of teachers' hands
Self-declared for a pilot, coordinator-assigned for a rollout. One setting, no client change, and the portal already handles the refusal cleanly.
Parents and teachers read the same flags
One engine feeds both portals. A parent and a class teacher are never handed two different accounts of the same week — which is what makes the meeting short.
And it is built to be cheap to run. Every class-wide screen reads one record per student and computes the rest in memory — a fifty-student heatmap costs fifty reads, not eighteen hundred. That is why a whole school can sit on it without the bill deciding your rollout.
Start with one section. One teacher, one class.
A pilot is a class code, a teacher login and a fortnight. By the end of it your teachers will either be opening this every morning or they will not — and that is a better answer than any demonstration we could give you.
Names and figures in the screens above are illustrative. The screens themselves are not.