Important
Open to Software Engineer roles (Pune · Philadelphia · remote). Portfolio systems: real-time speech VAD with an F1 gate, offline RAG eval, agents with tool calling and failure handling, and the full stack around them. Benchmark figures link to their reports or CI runs; account statistics link to dated snapshots. Stub metrics are labelled stub.
Fastest contact: mbr63drexel@gmail.com
| Project | What it proves | Guardrails | Proof |
|---|---|---|---|
| ai-ml-portfolio — speech VAD + RAG eval + NumPy ML from scratch | Measured VAD F1 gates (real audio + synthetic labels). Offline RAG/LLM eval with retrieval metrics; CI uses stub providers | Acceptance gate fails CI below fixed thresholds; eval falls back to stubs when keys are missing | MODEL_CARD · RESULTS |
| agent-console · Incident Desk — seeded on-call investigation + protocol console | Labelled, key-free replay of Northwind incidents; planner/tool trace, verdict and seed-based scorecard | Live-capable Nemotron planner via Nebius (not executed); telemetry stays seeded. Original WebSocket reorder/dedupe and RESUME console retained |
Agent implementation · Protocol decisions · Pages replay demo |
| Gravity-SaaS-Agent — multi-tenant agent SaaS starter | MCP-style simulated tool registry, skills scaffold, billing events, operator dashboard | Tier rate limits, Supabase RLS policies, OpenRouter retries/circuit breaker and labelled echo fallback. Channel adapters are simulators, not live Business API | README · CI |
Run the benchmark and acceptance gates (Python 3.10–3.12, no API keys; latency depends on hardware):
git clone https://github.com/mangeshraut712/ai-ml-portfolio && cd ai-ml-portfolio
make install && make verify-all # mlfs tests + VAD FULL_PASS + offline LLM evalOn Debian/Ubuntu, install build-essential and libsndfile1 first. Initial setup needs network access for dependencies and audio.
Source audit and verification limits · checked November 3, 2026.
The VAD figures come from Sep 11, 2026 CI. Latency measures batch whole-file processing and excludes warmup; the VAD gate runs on Python 3.11. Exact labels are constructed from real speech and synthetic silence; soft labels use energy, not human annotation. Baselines and failure cases:
| Metric | Measured | Gate / baseline | Source |
|---|---|---|---|
| VAD exact F1, noisy — known failure mode | 0.7768 | ≥ 0.75 (clean ≥ 0.92) | challenge_pass.py · MODEL_CARD |
| VAD soft F1 | 0.8135 | ≥ 0.78 | same |
| RAG retrieval (offline stub) — 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 Recall@3 0.975. Hallucination 0.000 = stub abstaining | RESULTS.md (STUB, 2026-07-24) · DATA_CARD |
| Stub cost / latency matrix | Stub p95 ms and estimated $/1k queries from configured prices/token estimates | live path is EVAL_LIVE=1; CI forces EVAL_LIVE=0 (stub) |
same RESULTS.md |
| CI labs + VAD acceptance gate | green | — | Sep 11, 2026 |
51 / 75 ██████████████░░░░░░ 68%
51 merged pull requests across 13 company groups on my allowlist, verified 2026-11-07. The original 50-PR milestone is complete; the next goal is 75, with 24 to go.
All 51 merged PRs and merge dates · GitHub-merged PRs only; CodeSync landings are tracked separately. 82 public external PRs merged overall, including the 51 on this allowlist (search).
| Company group | Merged | Focus |
|---|---|---|
| Meta | 1 | Lexical |
| Amazon/AWS | 15 | MCP, Stickler, billing-cost fixes & Visual Asset Management System |
| Microsoft | 8 | hve-core, winget-pkgs, physical-ai-toolchain, Semantic Kernel |
| Apple | 7 | Password-manager resources & schema |
| NVIDIA | 5 | CUDA Python tests & TensorRT tooling/CI |
| Adobe | 4 | React Aria / Spectrum (incl. ColorField Form validation & CheckboxGroup validation behavior) |
| Sarvam AI | 2 | Cookbook CI |
| 4 | sbsim BUILD cleanup + Gemini cookbook link checker + ADK Go function-tool validation + ADK Go executable code parts | |
| OpenAI | 1 | codex-security CLI guidance |
| Netflix | 1 | DGS codegen Kotlin client generation |
| Samsung | 1 | CredSweeper install-guide docs |
| Moonshot AI | 1 | kimi-code models.dev fallback |
| AMD | 1 | GAIA memory bootstrap confidence parsing |
Google combines google and google-gemini; each PR is counted once. Current external open PRs are tracked separately and do not count as merges.
Five case studies selected from those 51 merges for their technical depth, regression coverage and range: AI interoperability, security, distributed systems, code generation and editor internals. Each links to the merged PR and its tests.
Google · ADK-Go: preserve code-execution history across model providers
- Problem: Replaying Gemini conversation history through the OpenAI adapter failed when a turn contained executable code or execution output.
- My contribution: Converted both part types to labeled, fenced text in the Chat Completions and Responses request paths, preserving their order alongside ordinary text and images.
- Validation: Added request-payload regressions for both APIs, including empty code, mixed media and replayed reasoning. Chat Completions tests · Responses tests.
- Outcome: Merged November 6, 2026 · #1956. Request conversion preserves the code and its output as context. This does not execute the code or claim live-provider validation.
Microsoft · Semantic Kernel: enforce URL allowlists after path normalization
- Problem: A raw prefix check let paths such as
/api/../adminsatisfy an/apiallowlist even though the HTTP client requested/admin. - My contribution: Required both raw and percent-decoded paths to pass the allowlist after dot-segment normalization, preserving empty segments and matching httpx's treatment of terminal dot segments.
- Validation: Added escaping-path and allowed-path cases, comparisons against httpx's wire path, and runner tests proving rejected targets never invoke authentication or send a request. Validator tests · Runner tests.
- Outcome: Merged November 2, 2026 · #14668. The tested traversal and prefix-boundary cases are rejected before outbound work, while valid paths remain accepted.
Amazon/AWS · VAMS: handle stale DynamoDB index results during link recreation
- Problem: Recreating a deleted asset link could be rejected as a duplicate while DynamoDB's secondary index still returned the deleted row.
- My contribution: Verified candidate index hits against the base table with strongly consistent reads before applying duplicate and reverse-link checks.
- Validation: Added eight regression cases covering two relationship types, both directions, and stale versus present base-table records. Regression tests. The project review reports 78 passing tests and 20 successful live smoke-test cycles; the original timing failure was reproduced in the regression test, not live.
- Outcome: Merged into development November 2, 2026 · #856. Deleted rows no longer block recreation through stale index hits, while checks for existing duplicate and reverse links remain.
Netflix · DGS Codegen: resolve generated Kotlin parameter collisions
- Problem: GraphQL arguments named
_aliasor_projectioncollided with generated client parameters, producing Kotlin that failed to compile. - My contribution: Preserved schema argument names and renamed only colliding generated parameters, leaving non-colliding signatures unchanged. Added tests that compile client queries using those arguments.
- Validation: Compilation tests. The maintainer's follow-up retained my commit and added KotlinPoet name allocation, serializer-shadowing fixes and broader runtime coverage.
- Outcome: Merged November 3, 2026 · #997. Colliding schema arguments can be used by the generated client without duplicate parameter declarations.
Meta · Lexical: keep the editor cursor inside custom DOM boundaries
- Problem: A block cursor placed after the last decorator could be appended beyond a custom DOM slot's trailing decoration, outside the editor-managed range.
- My contribution: Inserted the cursor before the slot boundary when attached, with an append fallback when the boundary is absent or removed.
- Validation: Added regressions for correct placement before the decoration and for a detached decoration that must not throw. DOM-slot tests.
- Outcome: Merged November 1, 2026 · #9707. Custom slot layouts retain the expected cursor position without breaking the detached-boundary case.
-
Actions Nurse — Open Agent Hackathon 2026 Wildcard track (author-recorded submission: 28 Oct 2026 4:30 AM IST, hub). CI triage agent: Rules + optional Gemma, Meterless H-MEM, labelled Zetaris fixtures with optional live read-only evidence. submission stamp.
-
Asset Intelligence Copilot — FlytBase challenge entry (AI Hackers Collective × Hacktoberfest 2026 Hack Day). Chat copilot for oil-field operators: deterministic tools compute numbers, answers cite record IDs and SOP passages, Gemma 4 for planning/phrasing. Local; MIT.
Architecture — patterns across these projects
Conceptual patterns across separate projects; arrows do not assert one integrated deployment.
flowchart LR
subgraph Client
B[Browser<br/>Next.js · React]
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/>project-specific routing]
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 — tools and dependency evidence
The card lists tools I use or explore. The manifests below verify declared dependencies in these repos, rather than installed versions or live deployment.
| Stack claim | Source |
|---|---|
| NumPy · webrtcvad · rank-bm25 · scikit-learn | ai-ml-portfolio/pyproject.toml |
| Next.js 16.4.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 16.4 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 in Q4 2026
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



