My cousin runs an education consulting business, and after watching him struggle to manage his agent network and student pipeline across spreadsheets and disconnected tools, I built him a CRM. That one-client solution grew into QueryQode, a full multi-tenant SaaS product I've been actively developing since 2020. It's a single-page application with a PHP/MySQL backend, serving a live multi-tenant environment across multiple offices with different roles, permissions, and data boundaries. Every architectural decision, from the RBAC model to the audit log schema to the async API design, was made and owned by me.
The system handles real business operations every day, which means correctness, performance, and data integrity aren't academic concerns.
- Multi-tenant SaaS serving 5 offices, 54 users, 323 sub-agents, 11,200 leads, and 13,779 enrolled students in production
- Three-tier RBAC (admin / employee / sub-agent) with per-user operation-level permissions and financial data isolation
- Audit logging system capturing before/after field diffs, user identity, timestamp, and operation type
- Built a Playwright end-to-end test suite from scratch (89 tests, 17 suites) wired into a GitHub Actions CI/CD pipeline gating every merge and deploy
- Applied AI-paired TDD with Claude Code, writing failing tests first, to root-cause and fix 6+ live production bugs invisible to manual QA, including a concurrency race and a tenant-wide data-scoping gap