Skip to main content

Digital Learning & Development Platform

Onboarding and upskilling for early-career engineers with hands-on labs, autograding and mentor visibility.

QBurst Technologies · 2021–2026

  • ReactJS
  • NestJS
  • Fastify
  • PostgreSQL
  • Redis
  • Microservices
  • BFF
  • Training
  • Skill Development

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

  1. 01 Client

    • Learner app (React)
    • Mentor dashboard
  2. 02 BFF

    • Session & SSO
    • Aggregated views
  3. 03 Services

    • Curriculum
    • Assessments
    • Grading workers
  4. 04 Data

    • PostgreSQL
    • Redis queue
Submissions are queued and graded by workers, so a busy cohort deadline never blocks the learner UI.

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.

Related articleModern Digital Learning Platforms for Early-Career Engineers

Working on something similar?

I’m happy to talk through architecture, trade-offs or a role.

Get in touch