Important
Open to AI Engineer roles (Pune · remote). I build the production shape of AI systems: agents with tool calling and failure handling, real-time speech VAD with an F1 gate, an offline RAG eval harness, and the full-stack around them. Every number below links to the file or CI run that produced it — stub metrics are labelled stub. Fastest contact: mbr63drexel@gmail.com
| Project | What it proves | Guardrails / failure handling | Proof |
|---|---|---|---|
| ai-ml-portfolio — speech VAD + RAG eval + NumPy ML from scratch | Measured VAD F1 gates (real audio + synthetic labels). Offline RAG/LLM eval harness with retrieval metrics; CI uses stub providers, not live APIs | Acceptance gate (challenge_pass.py) fails CI below fixed thresholds; eval harness falls back to stubs when keys are missing so CI never depends on a live API |
MODEL_CARD · RESULTS |
| agent-console — real-time agent debug UI over WebSocket | Streaming tokens, tool-call traces, protocol observability for agent backends | Seq-based reorder buffer with dedupe, RESUME {last_seq} replay after disconnect, single-fire TOOL_ACK, chaos-mode verification (npm run verify:chaos) |
DECISIONS.md · live demo |
| Gravity-SaaS-Agent — multi-tenant agent SaaS starter (Next.js dashboard + Express gateway) | MCP client, skills engine, billing events, operator dashboard | Tier-based express-rate-limit, Supabase RLS policies, circuit breaker, OpenRouter fallback. WhatsApp/Telegram adapters in-repo are simulators (enhanced-channels.ts), not live Business API traffic |
README · CI |
Reproduce the headline number in one command (Python 3.10–3.12, no API keys):
git clone https://github.com/mangeshraut712/ai-ml-portfolio && cd ai-ml-portfolio
make install && make verify-all # mlfs tests + VAD FULL_PASS gate + offline LLM eval
Headline numbers on the card: VAD clean F1 0.9569, VAD p95 ~19 ms (measured; the code gate is ≤100 ms), CI Python 3.10–3.12, 4,857 contributions (2026-09-16 snapshot — live total moves). The table is only what the card does not show.
| Metric | Measured | Gate / baseline | Source |
|---|---|---|---|
| VAD exact F1, noisy — known failure mode | 0.7768 | gate ≥ 0.75 (clean gate is ≥ 0.92) | challenge_pass.py · MODEL_CARD |
| VAD soft F1 | 0.8135 | gate ≥ 0.78 | same |
| RAG retrieval (offline stub, not live models) — TF-IDF Recall@5 · MRR · nDCG@5 | 1.000 · 0.981 · 0.986 | 40 gold QA + 15 adversarial on 10 FAQ docs. BM25-fusion stub is Recall@3 0.975 (different cut). Hallucination 0.000 is the stub generator abstaining | RESULTS.md (mode STUB, 2026-07-24) · DATA_CARD |
| Stub cost / latency matrix | p95 ms and $/1k queries per stub provider | optional live path is EVAL_LIVE=1; CI never sets it |
same RESULTS.md |
CI run for make verify-all |
green | — | Sep 11, 2026 |
| Project | Contribution | Status |
|---|---|---|
| MoonshotAI / Kimi Code | Built-in model catalog fallback when models.dev is unavailable |
Merged |
| Sarvam AI Cookbook | Hardened CI detection of unquoted TS/JS model keys | Merged |
| Apple Password Manager Resources | Schema support for exact-domain-only password rules | Merged |
| Apple Password Manager Resources | Shared-credential mappings for Bluesky domains | Merged |
| OpenAI Codex Security | Shell-neutral env-var removal guidance in the CLI | Merged |
| Apple Password Manager Resources | Shared-credential mapping for HDFC Bank (hdfcbank.com → hdfc.bank.in) |
Merged |
| Meta Pyrefly | LSP completion for closing triple-quoted strings | Open |
| Meta Lexical iOS | DocC documentation for ElementNode methods |
Open |
| Anthropic claude-code-action | Docs: claude_args replaces removed allowed_tools |
Open |
The three systems above stay in Start here. These cards are everything else.
Architecture — how the pieces connect (Mermaid, renders natively)
flowchart LR
subgraph Client
B[Browser<br/>Next.js 15 · React 19]
end
subgraph Runtime
WS[WebSocket agent server<br/>seq ordering · RESUME replay]
API[FastAPI / Express gateway<br/>rate limits · RLS · circuit breaker]
end
subgraph Models_Tools_Data["Models · Tools · Data"]
OR[OpenRouter / Workers AI<br/>multi-model fallback]
MCP[MCP servers · tool calling]
VAD[WebRTC VAD · speech]
RAG[BM25 / TF-IDF retrieval<br/>eval gates]
end
subgraph Ops
CI[GitHub Actions CI<br/>F1 gates · offline eval]
DEP[Docker · Cloudflare · GitHub Pages]
end
B <--> WS
B --> API
WS --> MCP
API --> OR
API --> RAG
B --> VAD
MCP --> OR
CI --> DEP
AI engineering stack — every claim points at a dependency file
The card lists tools I use. Only the lockfiles below are claims about these repos. PyTorch / Ollama / DeepSeek on the card are local/tooling names, not pinned dependencies here.
| Stack claim | Source |
|---|---|
| NumPy · webrtcvad · rank-bm25 · scikit-learn | ai-ml-portfolio/pyproject.toml |
| Next.js 15.3 · React 19.1 · Turbopack | agent-console/package.json |
| Next.js 15.5 · React 19.2 · Cloudflare Workers AI | Hindai/package.json · workers/hindai-gemma |
| Next.js 15.5 dashboard · Express gateway · Supabase | Gravity-SaaS-Agent/apps |
| FastAPI | mangeshrautarchive/requirements.txt · career-agent-pro/backend |
| Sarvam SDK | Realtime_Speech_Captioning/requirements.txt |
Now — what I'm building this quarter
Principles, writing, trajectory
Engineering principles
- Measure everything; ship the gate with the number
- Local-first whenever possible; CI must not depend on a live API
- Reliability over novelty — an agent with guardrails beats a flashier one without
- AI should augment, not obscure, the system
- Developer experience matters; simple systems scale better
Details: INTERVIEW_NOTES.md
Writing
Trajectory



