All work
02 · Case study
SkillKeepr
A multi-tenant HR and recruitment platform with role-based modules, Stripe subscriptions and a marketplace, a Boolean candidate search engine and live video interviews.
- Role
- Full Stack Engineer
- Timeline
- 2023 - 2026
- Stack
- React
- Redux-Saga
- Node.js
- MongoDB
- Stripe
- Socket.IO
- Jitsi
The problem
HR teams, talent managers and recruiters needed one secure workspace per company, with flexible plans, powerful candidate search and interviews that didn't depend on yet another tool.
Approach
- 01Engineered a multi-tenant architecture with RBAC across HR, Talent, Recruiter and Admin modules.
- 02Built Stripe subscription billing and a modular marketplace: upgrades, renewals, coupons, add-ons, usage tracking, webhooks, and plan-based access controls and usage limits.
- 03Designed a Boolean search engine on MongoDB aggregation and compound indexes, with AND/OR/NOT, nested queries and field-level filters.
- 04Shipped live interviews by integrating Jitsi with WebSocket-backed signalling for scheduled candidate sessions.
- 05Led the Node.js v16 → v18 migration with dependency upgrades and regression testing, and documented complex workflows with architecture diagrams.
Architecture
Challenges
- Enforcing tenant isolation and plan limits consistently across every module and API.
- Keeping Boolean queries with nested groups fast on growing candidate collections.
- Handling Stripe webhooks idempotently so billing state never drifts.
Result
A reliable, monetisable platform: self-serve plans and add-ons, recruiter-grade search, built-in interviews, and critical production issues resolved within 24 hours.
- role-based modules
- 4
- to resolve critical issues
- <24h
- Node.js migration led
- v16→18