Case file 02 · Product
FORMARPRO
Corporate learning, assessment and verifiable certification designed as one continuous journey.
- SvelteKit
- NestJS
- PostgreSQL
- Redis
- BullMQ
- Socket.IO
The challenge
Corporate training is more than publishing videos: companies need enrollment, assessments, live sessions, prerequisites, evidence and certificates they can verify. Those responsibilities had to feel coherent for learners while remaining controllable for training teams.

The approach
I designed distinct product surfaces for each role while keeping a shared learning and compliance model. SvelteKit handles the experience; NestJS, PostgreSQL and Redis coordinate enrollment, progress, notifications and asynchronous certificate work, with interactive content and enterprise SSO as first-class capabilities.
Key decisions
- Model separate learner, trainer, company and administrator journeys on top of one learning domain.
- Treat certificates as verifiable records, not decorative PDF downloads.
- Move heavy work to queues and support enterprise identity through SAML and OpenID Connect.
Technical architecture
Full-stack architecture designed and built end to end by me.
- 01 Learning experiences SvelteKit
Dedicated journeys for learners, trainers, companies and admins.
- 02 Learning domain NestJS
Enrollment, progress, assessment and certification rules.
- 03 State and cache PostgreSQL · Redis
Durable learning records with fast operational state.
- 04 Jobs and integrations BullMQ · SSO · H5P
Certificates, notifications, enterprise identity and interactive content.
Modules
What the product is made of, as its own screens divide it.
- 01 Catalogue & learning paths
Courses, packages and prerequisites arranged into paths.
- 02 Training delivery
Interactive H5P and SCORM content, video and reading tracked per learner.
- 03 Assessment
Evaluations with instructors, approvals and results.
- 04 Verifiable certificates
QR-signed certificates anyone can verify on the public site.
- 05 Companies & orders
Corporate accounts, purchase orders and catalogue requests.
- 06 Corporate SSO
SAML and OIDC sign-in configured per company.
- 07 Public site
Catalogue, docs, status and the verification page.
Before → after
- Before
Training split across unrelated tools.
AfterOne continuous learning journey.
- Before
Certificates delivered as static files.
AfterCertificates backed by verifiable records.
- Before
Heavy tasks blocking user flows.
AfterAsynchronous jobs with visible progress.
Technologies
- SvelteKit
- NestJS
- PostgreSQL
- Redis
- BullMQ
- Socket.IO
- SAML/OIDC
- H5P
The wider toolkit
- TypeORM
- Passport
- JSON Web Tokens
- OpenAI
- Resend
- TanStack
- GSAP
- SCORM
- hls.js
- jsPDF
- Mapbox
Brand marks from Simple Icons; concepts without one are drawn in-house.
Project log
May 2026 → Oct 2026 · 6 active months
- app app · 69 commits May 2026 → Oct 2026
- api API · 42 commits May 2026 → Oct 2026
In the tree
- 85 routes
- 50 API controllers
- 50 test files
- 1159 tracked files
Read from the local Git history on Oct 6, 2026. Aggregates only.
The outcome
The current build joins discovery, training, evaluation and certification in one product family. Its local Git snapshot spans 73 commits, two codebases and 68 routes across public, learner, trainer, company and administration experiences.
Private codebase — this file shares the thinking, not the source.
