Client
How Qwertee Technology built Ignicloud — a self-serve B2B platform with free trials, bulk employee enrollment, single sign-on and recurring billing — from the first commit to its fourth production release in under three months.
Ignilife, a digital health company from Sophia Antipolis, France, runs a health-prevention and wellness-coaching platform used by health insurers, employers and health networks — deployments reaching millions of insured members, with coaching programs delivered in multiple languages.
In 2018 the business had a bottleneck: every new B2B customer came in through a sales cycle and hands-on setup by Ignilife's own team. There was no way for a company to simply sign up, try the service, enroll its employees and pay. Ignilife wanted a self-serve front door — and a single back office to run accounts, pricing and access across their whole app suite. That platform, Ignicloud, didn't exist yet. We built it from scratch.
The brief looked simple — "let companies sign up on their own" — but the surface area was anything but:
The full SaaS lifecycle. Registration, email verification, free trials with expiry, team invitations, multi-company tenancy, bulk employee enrollment, subscriptions, invoices — each one a product feature in its own right.
An existing product suite to integrate. Ignilife already ran several applications. Ignicloud had to become their identity provider and talk to the existing Ignilife API for partner accounts and activation codes.
Health-adjacent data, EU rules. GDPR had just come into force. Data had to stay in the EU (AWS Paris region), and deleting a user had to propagate across every connected app — not just the new one.
Four languages from day one. The API and UI had to serve English, French, German and Portuguese, down to localized reference data.
A hard timeline. The platform had to be live — in production, on real infrastructure — milestone by milestone, not as a big-bang release at the end.
First commit: June 25, 2018. We shipped in four production milestones, each one a usable slice of the business.
We went API-first: a Django REST Framework backend with JWT authentication and a fully documented API, plus an Angular single-page app for registration, onboarding, company and team management. The free-trial lifecycle ran itself from the start — daily jobs cleaned up unverified accounts and reminded users before their trial expired. Just as important, the operations groundwork shipped in the same milestone: Docker images, the AWS infrastructure written as a CloudFormation template, and Jenkins CI/CD. Production existed from week one, not week eleven.
A B2B wellness platform lives or dies by how easily a company can get its people in. We built the Promote module: HR uploads a CSV (or types emails), and the platform bulk-invites, re-invites or revokes employees, with searchable enrollment status and previewable invitations. This milestone also wired Ignicloud into the existing Ignilife API — creating partners and activation codes automatically, so a self-serve signup ended in a working Ignilife deployment with no human in the loop.
Ignilife's team got an admin dashboard: manage companies, handle invoices, control pricing plans and coupons, invite fellow admins. And we shipped IgniID — an OpenID Connect single sign-on provider (authorization code flow, RS256) that Ignilife's existing apps authenticate against, with per-app access controlled by group membership. Deleting a user in Ignicloud now propagated to every connected app — the GDPR requirement, solved structurally.
Recurring billing via Stripe: subscriptions, payment methods, plan changes and cancellations, all driven by webhooks. Two details we're fond of: the webhook handler filters events by live mode, so one Stripe account safely serves both staging and production; and a sync command can rebuild the local billing state from Stripe — so a fresh deployment or a drifted database is a command away from consistent, not an incident.
Under the platform sat one CloudFormation template describing everything: a VPC with public and private subnets, load balancer, auto-scaling ECS services (one to twenty backend containers), Multi-AZ PostgreSQL on RDS, S3 for static and media files, and a bastion host for the rare moments humans needed in. Staging and production were the same template with different parameters — identical by construction.
From empty repository in June to the fourth production milestone in September — 700+ commits covering auth, enrollment, SSO, back office and billing.
A company can sign up, trial the service, enroll its workforce by CSV and subscribe by card — with Ignilife's team out of the loop end to end.
IgniID gave Ignilife's apps a single OpenID Connect login with per-app permissions — and user deletion that propagates everywhere, keeping GDPR compliance automatic.
The entire environment — VPC, auto-scaling ECS, Multi-AZ PostgreSQL — is one CloudFormation template, reproducible on demand and kept in the EU.
"Ignilife is a digital preventive healthcare platform. We wished to accelerate our roadmap in order to deploy faster our B2B service infrastructure to market. To succeed, we chose to outsource part of our development. We decided to work with Qwertee for the quality of the team and their reactivity. After already four completed sprints, I can testify that we are fully satisfied with the quality level of the development and the deadline compliance. Qwertee became very quickly a reliable partner with whom we wish to continue the relationship."— Fabrice Pakin, CEO, Ignilife
If you're launching a SaaS product and the platform around it — accounts, billing, SSO, infrastructure — is what stands between you and revenue, we've built this before. Happy to compare notes — even if you're not looking to bring anyone in.
Get in Touch
Subscribe To Our Newsletter. We’ll Send Email Notification Everytime We Release A New Article Or Upgrade Our Services.
2017-2026 Qwertee Technology. All Rights Reserved.