Skip to content
AI & AutomationBackend API

AI Student Summarizer

An AI-agent prototype that turns a student's attendance, notes and grades into one narrative teacher-facing summary

A TypeScript backend prototype built around one idea: give a teacher a single narrative overview of a student — strengths, gaps, and next steps — generated by an OpenAI agent that decides which of six data tools to call (student info, attendance, notes, grades, assessment results, attendance register) rather than being handed one flat prompt.

AI Student Summarizer — application screenshot
AI Student Summarizer — application screenshot

A prototype that runs against mock data rather than a production feature; the repository is private. The agent's tool architecture is explained below.

About this project

The agent, built on OpenAI's agent/tool-use primitives rather than a hand-rolled prompt loop, is instructed to act as "a helpful assistant for teachers" and to always return four sections: an overall summary, strengths, areas for improvement, and actionable recommendations. It's given six Zod-validated data tools — student info, attendance, notes, results, assessments and the attendance register — and left to decide which to call and in what order to answer a single request: "provide a student overview for user {id}."

Each tool is a thin Axios GET back to the same Express server's own REST endpoints, which stand in for what would be real school-data APIs. That data shape — a profile, an attendance summary, freeform teacher notes, per-subject homework/quiz/exam grades, a separate assessment/quiz-sets schema, and a separate present/absent/leave attendance register — mirrors a typical school-data vocabulary without being wired into any production system: this is a standalone exploration of the pattern, not a shipped integration.

The whole thing is one endpoint driving one agent run against a mock student held in memory — no database, no auth, no persistence. It's a small, working demonstration of OpenAI's agent/tool-use pattern applied to a real domain problem — not a production AI feature.

Key features

  • Six typed, Zod-validated tools (student info, attendance, notes, grades, assessment results, attendance register) that the agent chooses among and sequences on its own to answer a single "give me a student overview" request
  • A single structured instruction set that requires the model's reply to always cover four sections: overall summary, strengths, areas for improvement, actionable recommendations
  • One endpoint drives the full agent run keyed by student ID; the six GET endpoints double as the tool backends the agent calls into
  • Built on OpenAI's tool-use primitives rather than a hand-rolled prompt-and-parse loop

More in AI & Automation

~/sherazi.dev$./say-hello

Say hello.

Questions about a case study, one of the packages, AI tooling or Flutter in general are always welcome.

// or browse the packages on pub.dev(opens in a new tab)