01 — Problem
The problem
Freshers need structured training and fast feedback. With slide decks and ad-hoc mentoring, mentors can’t see who is stuck, and grading assessments by hand doesn’t scale.
02 — Role
My role
- Designed the platform architecture, including the BFF and asynchronous grading.
- Built NestJS/Fastify services, the PostgreSQL schema and the Redis-backed job queue.
- Delivered the React learner and mentor experiences.
03 — Architecture
How it fits together
01 Client
- Learner app (React)
- Mentor dashboard
02 BFF
- Session & SSO
- Aggregated views
03 Services
- Curriculum
- Assessments
- Grading workers
04 Data
- PostgreSQL
- Redis queue
Key decisions
- Asynchronous grading with idempotent submissions, so retries never award points twice.
- A BFF shapes data per screen, so the React apps never call several services directly.
- Mentors see every attempt, not only the final score.
04 — Results
Results
- Assessments graded automatically, with mentors reviewing only subjective work
- Mentors can spot struggling learners from attempt history instead of end-of-module scores
05 — Retrospective
What I’d do differently
Measure on-the-job outcomes, not completion rates. Completion is easy to optimise and says little about skill.
Start with a single service plus a grading worker, and split further once the load and team size call for it.
Working on something similar?
I’m happy to talk through architecture, trade-offs or a role.
Get in touch