Context
A certification operation needed to coordinate three different actors — administrators, clients and workshops — over the same workflow, in two languages.
Problem
Each role sees and does different things: the administrator manages the whole system, the client tracks their certifications and the workshop executes the technical work. A single frontend had to serve all three without information leaking across roles.
Solution
- React 19 + Vite SPA with per-role views and permissions, on top of an Express + PostgreSQL backend with JWT authentication,
helmetand rate limiting. - Bilingual ES/EN end to end.
- Maps and documents: OpenLayers/Google Maps integration and PDF generation with jsPDF.
- Quality as a process: unit tests with Vitest, e2e tests and GitHub Actions building, testing and deploying to Cloud Run on every push to
main.
Results
The platform is live in production at thethreads.io. The CI/CD pipeline makes iteration safe: every change reaches production validated by the test suite.