Projects / SaaS & Compliance
Didaxo — Fullstack Development of a SaaS for Training Providers
A business SaaS for professional training providers: Qualiopi compliance, automated OPCO funding files, the annual BPF report, and Stripe billing, all in a single platform.
Fullstack Development of a SaaS for Training Providers
Case study · Fullstack web development · React · Node.js · MySQL · Stripe
Digitizing compliance: building a business SaaS for training providers
A professional training provider juggles dozens of administrative files every week: training agreements, attendance sheets, OPCO funding files, Qualiopi indicators, the annual Bilan Pédagogique et Financier (BPF) report that must be submitted to the authorities. Managed through Excel, dozens of scattered Word documents, or generic tools poorly suited to French vocational training regulations, this workload quickly becomes unmanageable, with a real risk of falling short in a Qualiopi audit.
That observation is what gave rise to Didaxo: a business SaaS built end to end for French training providers. I was brought in for a complete fullstack development engagement, from architecture design through to production deployment, with a goal that's simple to state and hard to deliver: replace the spreadsheet and Word templates with a single, reliable, compliant platform.
The client's needs: moving past manual management without losing flexibility
The client, who runs a training provider, had a very concrete need: centralize the management of trainees, trainers and training sessions in a single tool, while meeting strict regulatory constraints specific to the French professional training sector.
Several defining requirements emerged from the initial scoping:
- Qualiopi compliance: tracking the quality indicators required to keep the certification, without which a provider loses access to public and pooled funding.
- OPCO file assembly: automated generation of funding files (agreements, forms specific to each OPCO such as AGEFICE) from data already entered, eliminating manual re-entry.
- Bilan Pédagogique et Financier (BPF): simplified production of the mandatory annual report submitted to French authorities.
- Multi-profile management: a single tool needed to serve the training provider, trainers and trainees, each with their own space and their own permissions.
- A SaaS business model: the product needed to be sellable to other training providers, with subscriptions, plans and usage quotas, not just as an internal tool.
The difficulty lay less in the technology than in domain knowledge: building a generic product capable of adapting to providers with different practices, while coding rules that are often poorly documented or scattered across administrative regulations.
Product features: a complete back office, designed by role
Didaxo was built as a modular platform, with a distinct dashboard for each type of user: the training provider, the trainer and the trainee. Each module addresses a specific operational need identified during scoping interviews.
Managing trainees, trainers and courses
Full trainee and trainer profiles, creation and updating of training sessions, linked to trainers and their associated funding files. The goal: every piece of data entered once can be automatically reused in the documents generated downstream.
Calendar and scheduling
An interactive calendar (day, week, list views) makes it possible to visualize training sessions, avoid scheduling conflicts between trainers, and prepare invitations. A remote (live) session feature rounds out the offering for distance learning.
File assembly and administrative export
The core of the product: a file-generation engine that merges data from the provider, the trainee, the trainer and the course into administrative templates (including forms specific to certain OPCOs), with PDF export ready to submit. A quota system governs consumption of these files based on the subscribed plan, an essential piece of the SaaS business model.
Qualiopi and BPF tracking
Dedicated modules let the provider track its Qualiopi indicators and prepare its Bilan Pédagogique et Financier directly from data already present in the tool, with no re-entry.
Subscriptions and billing
Because Didaxo is a genuinely sellable SaaS, the platform includes complete management of plans, subscriptions and recurring billing, with on-the-fly plan upgrades and automatic reconciliation of subscription states.
Automatic company data enrichment
An integration with the Pappers API automatically pre-fills a company's legal information (SIRET number, legal form, address) from a simple search, further reducing manual entry and compliance errors.
The process: from business scoping to continuous production deployment
Building a SaaS for a sector as heavily regulated as professional training demands a specific method: understand the regulations before writing a single line of code.
1. Scoping and business data modeling
The first step was to precisely model the domain entities (training provider, manager, contact, company, trainee, course, trainer) and their relationships, working directly from real administrative documents (CERFA forms, agreements, OPCO forms) so that every database field matches a field genuinely required by the authorities.
2. Architecture and iterative development
Development followed a logic of building independent functional modules (authentication, trainee management, calendar, file assembly, billing), delivered and tested progressively rather than in a single monolithic release. This approach made it possible to adjust the product based on feedback from the pilot provider.
3. Security and compliance
JWT-based authentication, password hashing, fine-grained role-based access control, and a restrictive CORS architecture to strictly isolate exchanges between the frontend, the API and the document-generation service. Payments are handled entirely by Stripe (webhooks + automatic reconciliation) so no banking data is ever handled server-side.
4. Deployment and operations
The platform is containerized with Docker and deployed across three dedicated subdomains (application, API, PDF generation), allowing each piece to evolve and scale independently. A command-line-controlled maintenance mode was added to secure production updates without abrupt service interruptions.
The tech stack
Technology choices were guided by a simple principle: favor robust, widely adopted tools capable of handling the growth of a real commercial SaaS, without unnecessary over-engineering for a product that had to remain maintainable solo.
Frontend
- React 18 with Vite for a fast interface and minimal build time
- React Router for navigation between the provider, trainer and trainee spaces
- FullCalendar for the interactive training-session calendar
- Lucide React for consistent iconography across the product
Backend
- Node.js and Express for a modular REST API, organized into dedicated business routes
- MySQL as the relational database, suited to the strongly relational structure of regulatory data
- JWT and bcrypt for authentication and password security
- Multer for handling uploaded documents (supporting evidence, file attachments)
- Nodemailer for notifications and password-reset flows
- Stripe for managing subscriptions, recurring billing and payment webhooks
- Pappers API for automatic company data enrichment
Infrastructure
- Docker containerization for each service (application, API, document generator)
- Dedicated subdomain architecture to isolate the frontend, the API and the PDF export service
- Dedicated operational scripts (maintenance mode, Stripe subscription reconciliation)
The result: a business SaaS ready to support growth in a regulated sector
Building Didaxo required translating dense regulation (Qualiopi, BPF, OPCO funding) into a digital product that non-technical users can operate daily without compliance mistakes, far beyond simply assembling a frontend and an API.
Didaxo now meets a concrete need: reducing time spent on repetitive administrative tasks so training providers can focus on their core business, teaching, while securing their regulatory compliance and access to funding.
This engagement covered the full fullstack development cycle: business scoping, architecture, frontend and backend development, third-party integrations for payment and legal data, security and deployment, on a real SaaS product intended for commercial sale, not a mere technical exercise.
Fullstack developer · design and delivery of business SaaS products
What makes building a SaaS for training providers different from a typical SaaS?
The difficulty lies less in the technology than in domain knowledge: you need a generic product capable of adapting to providers with different practices, while coding rules that are often poorly documented or scattered across administrative regulations (Qualiopi, OPCO, BPF). The data model was built directly from real administrative documents (CERFA forms, agreements, OPCO forms).
Does Didaxo really generate OPCO funding files automatically?
Yes: a file-generation engine merges data from the provider, the trainee, the trainer and the course into administrative templates, including forms specific to certain OPCOs, with PDF export ready to submit, with no manual re-entry.
How does Didaxo secure payments and data?
Authentication relies on JWT and bcrypt, with a restrictive CORS setup between the frontend, the API and the document-generation service. Payments are handled entirely by Stripe (webhooks and automatic reconciliation), so no banking data is ever handled server-side.
More projects
Portfolio Back Office — Custom CMS and SEO Command Center
A custom-built back office combining content management and real-time SEO tracking: SEO score, Search Console data, indexation inspection, competitor monitoring and internal linking, all in one interface.
Braise — Booking and Management Platform for Restaurants
A fullstack online booking platform with floor plan management, dynamic digital menu and online ordering for restaurants — built around four roles: customer, server, kitchen and management.