How we scaled a recruitment SaaS from zero to 400+ agencies without a single incident
A 14-month product engineering engagement β multi-tenant architecture, ATS core, integrations, and infrastructure.
One platform, 400 agencies, zero data bleed
Recruitly is a cloud-based applicant tracking system built for staffing agencies. When they came to FiveNodes they had a product concept, a small pilot group, and no scalable infrastructure. Every agency needed to feel like they were on their own isolated system while sharing one codebase.
The multi-tenant challenge was real: agencies had overlapping candidate pools and privacy requirements that made cross-contamination a legal risk β not just a UX problem.
We designed a strict tenant isolation model from day one β every query scoped to a tenantId at the ORM layer, row-level security enforced in Postgres, and per-tenant feature flags for rolling out new capabilities.
Multi-tenant ATS Core
Full applicant tracking with pipeline stages, candidate profiles, and job listings β all isolated per agency with zero data bleed between tenants.
Job board integrations
Live sync with LinkedIn, Indeed, and Reed. Candidates applied from any platform and landed directly in the right agency's pipeline.
Analytics and reporting
Real-time dashboards for time-to-fill, placement rate, and consultant performance β no SQL required.
White-label capability
Larger agencies serve their own clients under a branded subdomain. We built dynamic subdomain routing into the platform from month two.
Architecture designed for isolation at scale
We ran a focused architecture sprint before writing application code. The key decision was Postgres row-level security for tenant isolation β giving us strong data guarantees without the operational overhead of per-tenant databases.
JWT tokens carried tenant context on every request, meaning the ORM-level scoping was enforced automatically β no chance of a developer accidentally querying across tenant boundaries.
White-label subdomain routing was added in month two and designed to be zero-config for agencies β a DNS CNAME and a logo upload was all it took.
Architecture sprint (Weeks 1β3)
DB schema with Postgres row-level security. Tenant provisioning system. JWT auth with tenant context embedded in every token.
Core ATS (Months 1β5)
Candidate management, drag-and-drop pipeline, job listing CRUD, multi-stage offer management, bulk email templates, consultant assignment workflows.
Integrations and scale (Months 6β14)
LinkedIn/Indeed/Reed API sync, Stripe billing, white-label subdomain routing, analytics with Metabase, AWS ECS auto-scaling.
A stack built for multi-tenant reliability
400 agencies live, zero P1 incidents
Self-service agency provisioning meant zero manual migrations β each agency onboarded themselves, configured their pipeline stages, and went live without touching a support ticket.
The biggest proof point was time-to-placement. Across pilot agencies, average placement time dropped from 18 days to 6 days within the first month. Consultants reported 60% less manual data entry within 30 days of launch.
FiveNodes didn't just build what we asked for β they improved on our spec at every turn. The multi-tenant architecture they designed has let us onboard 400+ agencies without a single support ticket about data issues.
Ready to build your SaaS?
We've engineered SaaS products that scaled from zero to hundreds of customers. Tell us what you're building β we respond the same day.