Case study · 05
Status: In progressStudent Progress Analyzer
A desktop app (Electron + React + Node.js) that automates the admin side of teaching a programming class: groups, students, tasks and attendance, grades on the Polish 2.0–5.0 scale, and AI code review of students' GitHub repositories using a model that runs locally.
Code review · process diagram
- GitHub API: student's repos
- fetch the source code
- Ollama (local LLM) review
- parse JSON: line, severity
- save to student history
01 · Problem
What needed solving
Running a programming class means tracking attendance and points in spreadsheets and reading a lot of student code by hand, with no quick overview of who is falling behind.
02 · Solution
How it works
An Express + MongoDB REST API behind JWT authentication, a React + Tailwind client with Recharts, and Electron wrapping it into a portable Windows app. The GitHub API fetches a student's repositories and code; Ollama runs the review on the teacher's machine, so student code never goes to a cloud service.
03 · Key features
What it does
- Groups, students, tasks and attendance, with attendance stats updated as you go
- Points converted to the Polish grading scale (2.0–5.0) per student and per class
- CSV import of students; CSV and Excel export at the end of the semester
- AI code review of a student's GitHub repository, saved to the student's history
- Dashboard with grade distribution, attendance chart and a PL/EN interface
04 · Tech stack
Built with
- TypeScript
- Node.js
- Express
- MongoDB
- React
- Electron
- Ollama
- Status
- In progress
- Code
- Source code is not publicly available
- Demo
- No public demo
05 · Challenges
What was tricky
Parsing the model's answer
Local models often wrap JSON in markdown or add text after it. A cleaning step cuts everything before the first brace, removes code fences and trims trailing text before the response is parsed.
No MongoDB installed
If MongoDB isn't reachable, the backend falls back to an in-memory MongoDB instance, so the app still starts on a fresh machine.
Student code stays local
Reviews run through Ollama on the teacher's computer instead of a cloud API, so students' code is never sent to a third party.