I design and build backend systems that are resilient under load, safe with data, and predictable in failure.
My work spans multi-tenant SaaS platforms, asynchronous distributed architectures, real-time event systems, and cloud infrastructure on AWS and GCP. I care deeply about correctness, data integrity, and observability not just shipping features.
I think in transactions, queues, and service boundaries. Every system I build is designed to fail safely, scale predictably, emit useful signals when something goes wrong, and be maintainable six months from now by someone who isn't me.
| Domain | Focus Areas |
|---|---|
| Backend Services | NestJS 10 Β· FastAPI Β· Django |
| SaaS Architecture | Multi-tenant isolation Β· RBAC Β· Row-level tenancy |
| Async Processing | Redis Β· BullMQ Β· Celery Β· Pub/Sub event pipelines |
| Data Layer | PostgreSQL schema design Β· Transaction safety Β· ACID guarantees |
| Real-Time Systems | WebSocket streaming Β· Event-driven communication |
| Cloud Infrastructure | AWS Β· GCP Β· Containerized production deployments |
| Observability | Grafana dashboards Β· Metrics Β· Structured logging Β· Alerting |
Multi-Tenant Medical Shop SaaS
A production-grade B2B SaaS platform built for small medical shops across India. Designed with correctness and data integrity as first-class concerns β not bolted on after the fact.
Architecture Highlights
- Row-level multi-tenancy via
shop_idacross all guards, services, and queries - RBAC with
OWNER/MANAGER/STAFFrole hierarchy - Atomic stock deduction via PostgreSQL transactions
- FEFO batch rotation β First Expiry, First Out
- Integer-based monetary storage in paise β eliminates float precision errors entirely
- JWT auth with rotating refresh tokens
- Redis-backed async background processing
- Grafana dashboards for queue depth, job failure rates, and API latency
- Fully containerized for local dev and production deployment
Multi-Tenant RAG Platform
A self-hosted, multi-tenant retrieval-augmented generation platform: upload documents per tenant, query them, get cited answers β with strict tenant isolation and a fully local model stack, so tenant data never leaves the infrastructure and there's no per-call LLM API cost.
Architecture Highlights
- FastAPI backend with a layered service architecture (API β services β models β async workers)
- Tenant isolation via row-level filtering β every query scoped by
tenant_idat the data-access layer, enforced through a shared auth dependency and covered by dedicated cross-tenant tests (a tenant cannot see or delete another tenant's documents, chunks, or API keys) - PostgreSQL + pgvector for embedding storage and cosine-distance similarity search
- Retrieval pipeline: pgvector similarity search β cross-encoder reranking (local
sentence-transformers, CPU-only) β generation - Embeddings and generation both served by a local Ollama instance over HTTP β no external LLM API dependency
- Async document ingestion via Celery workers, with MinIO object storage and PyMuPDF / python-docx / BeautifulSoup parsing for PDF, DOCX, and HTML
- API-key based auth with create / list / revoke endpoints
- Prometheus metrics and Grafana dashboards
- 60 automated tests, including dedicated cross-tenant isolation coverage across the auth, document, chunk, and query endpoints
Status: Local-only β not yet deployed publicly. Foundational stack, auth/tenant provisioning, and the ingestion + retrieval pipeline are built and tested; public deployment and load testing are next.
Agentic Internal Support/Operations Assistant
An internal AI agent for support/operations staff that answers questions about accounts, orders, tickets, and SLAs by combining policy-document retrieval with live operational data β with account/role-scoped authorization and a confirm-before-execute workflow for the one state-changing action it can take.
Architecture Highlights
- Hand-built agentic tool-calling loop (not a framework's black-box runner) β needed to pause for human confirmation on one specific action, expose a UI-visible tool-activity trace, and stay provider-agnostic (Groq or Anthropic, swappable via one config value)
- RAG layer: Qdrant + local embeddings (
fastembed,BAAI/bge-small-en-v1.5β no GPU, no per-call API cost) over policy/SOP/product/agreement documents, each chunk tagged with a source-authority ranking - Structured-data tools are parameterized Postgres lookups β no arbitrary SQL ever exposed to the model
- A deterministic calculation tool handles all timestamp/SLA-elapsed math β the model never computes a time delta itself
- Authorization is enforced at the tool layer, independent of what the model asked for
- Confirm-before-execute: the only state-changing tool stages a pending action; a human must explicitly confirm before it's created, with P1/high-value escalations additionally gated to a manager role
- 37 automated tests covering authorization, retrieval ranking, time calculations, the full confirm/reject action lifecycle, and the agent's tool-calling loop β run against a scripted fake LLM provider, so the suite needs no live API key
Status: Deployment-ready β Dockerfile and hosting config verified locally against a live stack (Postgres, Qdrant, and a live LLM-backed agent). Not yet hosted on a public URL.
opencode β AI coding agent, 200k+ GitHub stars.
Merged
- Fixed a dead ecosystem doc link (Daytona plugin reference) in the docs site
- Fixed a missing language link in the Arabic README
Submitted
- TUI event-stream reconnect after an OS sleep/lock disconnect
- Diff-view rendering fix for uppercase artifacts
- RPM package naming fix (packaged as
open-codeinstead ofopencode)
Design for scale before optimizing prematurely.
Transactions are the first line of defense for business logic.
Validation belongs at system boundaries β not scattered throughout.
Data models determine long-term system quality.
Services must fail safely, loudly, and observably.
Async processing reduces coupling and improves resilience.
You can't fix what you can't measure β instrument everything.
Building backend systems that survive real-world usage.

