Senior backend engineer with 5+ years building multi-tenant B2B SaaS. I own the scheduling engines, async pipelines, and caching layers that hold up when the request count climbs and the SLA doesn't move.
Python · Django · DRF · Celery · Redis · PostgreSQL · AWS
A multi-tenant SaaS that schedules, tracks, and reports on security officers across sites, with the same data live on both a web console and an officer mobile app.
Real-time scheduling, notifications, report generation, in-app messaging, leave management, and a vetted officer sign-up flow: the operational backbone used daily.
A Django application was hitting performance bottlenecks as it grew past 10,000 users. The existing infrastructure couldn't keep up with demand.
Handled the larger load with high availability and, because scaling was demand-driven, cut operational cost by running only the capacity actually needed.
Turn Open edX into a SaaS platform where multiple organizations could run their own uniquely branded learning environments, with stronger login security.
Each organization got a personalized, secure, self-serve LMS, making the platform far easier to scale to new customers.
Both of these were generated wholesale by AI and shipped without verification. Here's what was actually broken, and what it took to make them fast and correct.
Found The AI-written generator re-validated licenses, compliance, leave, and working-time rules inside a per-date loop and wrote rows one at a time, so database queries grew linearly with the number of schedules created.
Fixed Hoisted the invariant checks out of the loop and answered them from a single prefetch in memory, then batched writes with bulk_create, verifying identical output against the original with differential, stress, and fault-injection harnesses.
Found The generated cap check ran at the wrong scope (one provider–client pair at a time instead of the whole account), so the shared monthly limit wasn't enforced on future bookings and cancelled sessions weren't excluded, letting an over-cap session slip through repeatedly.
Fixed Switched the check to the live account-wide count of active sessions, excluded cancellations, closed a race where two simultaneous bookings could both pass, and hardened the monthly reset against a single bad record.
Multi-tenant REST design at scale: DRF ViewSets, JWT auth, versioned routes, and a large URL surface kept coherent as features multiply.
Celery + Redis pipelines for polling, bulk generation, and long-running jobs, moving work off the request path so timeouts stop happening.
Signal-driven cache invalidation, select_related/prefetch, and N+1 elimination on hot reads that carry the most traffic.
WebSockets, Server-Sent Events, and Redis Pub/Sub for live attendance, geolocation, and status feeds.
AWS EC2, RDS, S3, Lambda, CloudFront and Elastic Beanstalk with GitHub Actions pipelines and safe, repeatable deploys.
Pre-deploy safeguards, staged release cadence, backend tests, and PR review, keeping dev, staging, and prod steady.
A FastAPI prototype for face-based login: user registration, face encoding, and a full encode-and-match flow as a proof of concept for computer-vision-assisted auth.
A healthcare-style app with DRF APIs, a React frontend, JWT auth, and role-based patient/counselor workflows for users, appointments, and therapy operations.
A Python desktop tool that compresses a directory of images into a single PDF under a target size limit, packaged with PyInstaller for one-click use.
Available for remote and onsite roles. If you need someone to own backend infrastructure that has to stay up, I'd like to hear about it.