Nuqta
livebuilt at SaySoftA live small-group tutoring platform for children — parents register, an admin matches students to teachers, and classes run as recorded video sessions in the browser.
- 4
- Roles
- 10
- API modules
- 23
- Database models
- 430+
- Commits (both repos)
PROBLEM
Small-group online classes for under-13s need more than a video link: a parent has to own the account, a child has no login of their own, someone has to match students to vetted teachers, and each session needs a start, an end, and a recording the admin can review. Nuqta runs that whole loop for the Middle East market.
WHAT'S IN IT
- Four roles — parent, student profile, teacher, and admin — with a global JWT guard and role checks, and refresh tokens.
- Registrations move PENDING → MATCHED → ACTIVE → COMPLETED and sessions SCHEDULED → LIVE → COMPLETED, each as an enforced state machine.
- Live classes on Jitsi as a Service, with RS256-signed room tokens so only the teacher can moderate and record.
- Recordings arrive by webhook and are stored in S3-compatible storage, with admin playback through short-lived presigned URLs.
- A role-filtered calendar, plus a backend for in-class chat, polls, and quizzes.
ROLE
Engineer at SaySoft and main author of both repos — NestJS API, React frontend, the video integration, and deployment.
NOTABLE DECISION
Children are profiles under a parent's account, not users. A child never holds credentials; the parent "switches into" a child's view to join a class. That keeps every login an adult's, removes a whole category of account-security questions for minors, and still lets one parent run several children through different courses.