I build LLM systems that survive production.
praful= {
"role": "AI Software Engineer @ BCG X",
"based_in": "Delhi NCR, India",
"years": 4,
"building": ["agent harnesses", "RAG that cites", "multi-tenant platforms"],
"stack": ["Python", "FastAPI", "Azure", "Postgres", "pgvector"],
"belief": "an agent that fails loudly beats an agent that guesses quietly",
"debugging": "why it called the same tool six times",
}Four things I have shipped to real tenants. Click any of them if you want the guts.
🔌 Agentic AI, and a 39-tool MCP server
Built the natural-language layer of an enterprise platform: a 39-tool MCP server on FastMCP, exposing internal tools and data to LLM agents over Claude and Gemini.
- Tenant resolved from the authenticated Okta identity, never from caller input. 403 invariant on every cross-tenant request, with a security suite that proves it.
- Patched the tool decorator once so all 39 tools auto-wrap with error boundaries, correlation IDs and structured audit logs. Zero per-tool boilerplate.
- Guardrails that forbid the model from stating any number a tool did not return. No fine-tuning, no hallucinated market figures.
- Hand-rolled agent control loop: bounded 6-step tool calling, explicit stopping criterion, exceptions fed back as tool messages so the model recovers instead of crashing.
🔍 Retrieval that holds up under questioning
- Hybrid search fusing pgvector semantic retrieval with Postgres full-text via Reciprocal Rank Fusion, configurable 70/30 weighting plus document-type weighting.
- Multi-query expansion, token-by-token streaming, conversation memory, page-level citation extraction, all inside a 128K token budget.
- Document-type-aware recursive chunking with sentence-window and metadata enrichment into 1536-dimension embeddings.
- A vision path for presentations, then hierarchical DBSCAN clustering of embeddings into trend clusters with LLM-written summaries.
⚙️ LLM-Ops, the unglamorous half
- Per-tenant multi-provider routing across OpenAI, Azure OpenAI and Gemini, with time-to-first-token fallback that re-routes mid-stream, a circuit breaker, and per-user and per-tenant inflight limits.
- 165+ versioned prompts resolved per-tenant-override then common-default, cached in Redis with hot reload, so subject-matter experts ship prompt changes without a redeploy.
- Every call traced in LangSmith and correlated into Datadog APM, with tiktoken cost accounting and per-provider context-window management.
- An LLM benchmarking harness scoring models on five quality dimensions plus latency, TTFT, throughput and cost, used to actually pick models.
🏗️ The platform underneath all of it
- Multi-tenant Azure self-service platform: app architecture, networking, Kubernetes, Container Apps Jobs. 10+ tenants, 10,000+ users.
- Per-tenant database isolation with encrypted connection strings, lazily created and dynamically budgeted pools, and ContextVar tenant propagation across async tasks. New tenants need no restart.
- Okta OIDC with spoof-proof group-to-tenant mapping, role-based endpoint guards, and JWT auto-refresh that never forces a re-login.
- Terraform: six reusable Azure modules standing up an isolated subscription per client, VNet, database and storage included, in about 30 minutes.
Numbers I can defend in an interview.
| What I built | What it moved |
|---|---|
| 🏢 Multi-tenant Azure platform | 10+ tenants, 10,000+ users, up to 5 clients per server |
| ⚡ Onboarding automation | 7-10 days ➜ 1-2 hours, and 6-month infra cost per client from $6,000 ➜ $1,200-$2,000 |
| 📄 Event-driven RAG pipeline | 50-100 docs per client, turnaround from weeks ➜ hours |
| 🩺 LLM upload diagnostics agent | Catches ~90% of errors pre-processing, debugging days ➜ minutes, answers in under 90s |
| 🎯 GenAI synthetic survey panel | Redesigned probabilistic aggregation, prediction error 47pt ➜ 10pt vs real respondents |
| 🧮 Synthetic panel modeling core | Seeded k-means++ over 54-dim vectors, ~6,000 respondents ➜ ~250-300 prototypes, ~20x cheaper per question |
| 🐘 Backend perf work (Infosys) | Query optimization and pooling, latency down up to 30% |
GenAI and LLM
Backend
Cloud and DevOps
Data
Frontend
- 🎖️ Microsoft Certified: Azure Administrator Associate (AZ-104) and Azure Fundamentals (AZ-900)
- 🇮🇳 National Finalist, Smart India Hackathon 2020
- 🧩 Top 27% on LeetCode, 300+ problems solved
- 🎓 B.E. Computer Engineering, Bharati Vidyapeeth College of Engineering, Pune. CGPA 8.63
- 🔬 Reading eval papers, then arguing with the benchmark
- 🏗️ Rebuilding things that already work, but slower and with more logging
- 🧠 Convinced that most "the model is bad" bugs are actually retrieval bugs
- 🏆 Recovering hackathon person, still gets the itch every October
Always up for a conversation about agent infrastructure, retrieval, or why your LLM pipeline is slow. 🚀



