Gurukul
A complete school management system with OCR-powered admissions, attendance, timetables, fees and AI-assisted operations — plus a companion app for parents with frictionless portal-link login.
What it is.
Gurukul started from a real problem: schools are drowning in paperwork. Admissions come on loose sheets, attendance is scattered, timetables clash, and parents have no way to stay informed without pestering the office. I built one platform with two surfaces — a full-featured web dashboard for admins and teachers, and a lightweight React Native app for parents.
Every admission starts with OCR: upload a document, Tesseract extracts student fields, an admin verifies the record. Attendance, timetables and fees live in PostgreSQL with role-based views. And parents never need a password — they get a unique portal link, paste it once into the app, and stay connected to their child's school life.
Problems worth solving.
- Extracting student data reliably from handwritten and printed admission documents.
- Designing a role-based schema so admins, teachers and parents each see only what they need.
- Building a parent app that works offline and syncs seamlessly when reconnected.
- Managing timetables without conflicts across hundreds of classes and staff.
- Keeping fees tracked and reminders sent without manual intervention.
Built in four moves.
OCR-first admissions
Tesseract extracts fields from uploaded PDFs and images. An admin review flow lets humans verify and correct before the student record is committed to the database.
Role-based schema
PostgreSQL schema with RLS (row-level security) queries — admins see everything, teachers see their classes, parents see only their child.
Portal-link auth for parents
No passwords on the app. Once a student is admitted, parents get an email with a unique link. One paste into the app, and they're in — session persists across app close/reopen.
Conflict-aware timetabling
The timetable builder checks for room, staff and student collisions in real time before a slot is saved.
What it does.
Admin dashboard
Full operational control: students, staff, fees, communications, AI assistant.
OCR admissions
Upload documents, auto-extract fields, admin review, instant student record.
Attendance workflows
Teachers mark attendance on web, parents see reports on the app.
Timetable builder
Drag-and-drop scheduling with live conflict detection for rooms, staff and students.
Fee tracking
Invoice generation, payment tracking, automated reminders via Brevo email.
Parent app
Portal-link login, zero passwords, real-time attendance and fee updates.
AI assistant
Natural-language queries over school data — attendance trends, fee summaries, etc.
Notifications
Admissions approved, fees due, attendance marks posted — parents stay in the loop.
How it fits together.
- Tesseract for OCR — open-source, accurate enough for school documents, no vendor lock-in.
- Portal-link auth over OAuth — parents already have chaos with passwords; a link in email is friction-free.
- Prisma ORM with RLS — type-safe queries plus database-level access control.
- Separate web and app — web is feature-rich, app is a lightweight read window optimized for parents checking in.
What it proved.
- OCR is only the start — the human review workflow is where reliability lives.
- Portal-link login beats traditional auth for low-tech user bases — one paste, you're in.
- Role-based schema at the database layer beats application-level filtering — it's simpler and enforces privacy by default.
- A lightweight app can be more valuable than a full-featured one if it solves the parent's actual use case: quick, offline access to attendance and fees.
