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
- Async API layer reduced action latency from ~2-4s to ~300-600ms via SQL indexing and preloaded reference data
- 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
- Per-sub-agent lead capture with unique landing pages, UTM parameter tracking, auto-reply emails, and commission attribution