Work
Where I have worked, then the things worth describing. Each artifact says what it is, then the part that was actually hard — the constraint, not the feature list.
- Roles
- 05
- Artifacts
- 08
Trajectory
Paid to be wrong faster
Raise Financial Services (Dhan)
Senior Product Engineer (Staff Engineer) — AI & Backend
- Leading the development of the voice and video generative AI wing of Raise AI.
Raise Financial Services (Dhan)
Product Engineer — AI & Backend (SDE III)
- Architected the real-time customer-support voice bot (STT → LLM → TTS) across 15 Indic languages, using WebRTC to hold p90 under 600ms and p99 at 950ms. KYC completion moved from 60% to 85%, with a 20% lift in sentiment on payment friction.
- Deployed GPT OSS 120B and Flux 2 Max on vLLM behind Open WebUI; a secure LiteLLM-routed API gateway behind AWS ALB and NGINX keeps sensitive financial data inside the perimeter.
- Built automated evaluation on Arize Phoenix with an LLM-as-a-judge framework, scoring thousands of tickets daily for faithfulness, relevance, and user satisfaction.
- Halved the chatbot fleet from four c7i.4xlarge instances to two by tuning asynchronous paths and right-sizing the application layer, saving roughly $25k annually in AWS spend.
- Led ongoing R&D on proprietary and open-weight LLM, diffusion, and multimodal models for fintech bottlenecks.
BlinkX by JM Financial
Data Science Engineer
- Introduced Go to the stack and shipped the high-throughput pieces in it: Kafka consumers, telemetry and load-balancing middleware, and ELT pipelines.
- Led a team of three on a RAG corpus of 100k+ financial documents — download, chunk, embed, upsert — on LangChain and Pinecone, serving real-time advisor support.
- Built a revenue calculation API on FastAPI with an HTMX frontend, feeding an asynchronous ELT flow into BigQuery and Mixpanel.
- Shipped a lead-scoring engine for F&O trading affinity using stacked ensembles, holding 92% precision and 82% recall in production.
- Engineered a multi-armed bandit framework for the hyper-personalised nudge engine; reward-based dispatch lifted deep-link CTR 22%.
- Migrated Postgres to BigQuery through custom Python ORMs and audited the GCP surface, cutting monthly infrastructure spend 30%.
- Ran technical interviews for backend, data, and systems design roles, and onboarded interns without hand-holding them through the debugging.
BlinkX by JM Financial
Data Science Intern
- Automated the LLM RAG pipeline — collection, chunking, vectorisation — for 30k+ annual reports and conference call transcripts on LangChain, OpenAI, Pinecone, and Google Cloud.
CSIR — National Chemical Laboratory
AI Research Collaborator
- Led four interns alongside senior scientists on explainable AI (SHAP, LIME) for proprietary drug-value prediction models on lung cancer cells.
- Raised model accuracy 45% with a stacked ensemble and cut training time 20% through multithreading and CUDA-accelerated kernels.
- Built a Streamlit dashboard that explains each prediction, plus downloadable PDF report generation for the charts and explanations.
- Output: two peer-reviewed papers, one granted software copyright, one patent pending on the XAI methodology.
Symbiosis Music Society
Head of Content — led a 15-person content team
Rotonity Robotics Club
Senior Programmer — Robocon India 2022 mechatronics team
SCAAI — Symbiosis Centre for Applied AI
Research Intern — GANs, generative models, R-CNN classification
Symbiosis Institute of Technology
B.Tech, Computer Science · Honors in Cloud Computing and Blockchain · CGPA 8.24 / 10
Artifacts
Things that run
ACTIVE2023—
gpandas
Data / Library
An open-source dataframe library for Go with typed columns and a merge/concat API that does not allocate the world.
Go has no idiomatic dataframe. The interesting constraint is generics: you want typed column access without boxing every cell into `any`. Columns sit behind a columnar `map[string]*Series` for memory locality, and generics push type assertions to the boundary — which is most of where the 27% I/O win over pandas comes from. Worker pools and buffered channels handle CSV parsing; `Read_sql` and `From_gbq` cover the warehouse side. Runs at BlinkX in place of the standard Python path.
- Go
- Generics
- BigQuery
- go-echarts
- Docker
DEPLOYED2025—26
Indic Voice Bot
Real-time AI / Fintech
Customer support voice bot over WebRTC — speech to text, LLM, text to speech — across 15 Indic languages.
A voice loop is a latency budget, not a model choice. Every hop between STT, the LLM, and TTS has to be overlapped rather than awaited, which is what keeps p90 under 600ms and p99 at 950ms end to end. The measurable outcome was not the latency though: KYC completion went from 60% to 85%, because people finish a conversation they do not have to wait through.
- Python
- WebRTC
- vLLM
- STT / TTS
- LiteLLM
DEPLOYED2025—26
Internal LLM Platform
Infrastructure / LLM ops
Self-hosted inference gateway and automated evaluation pipeline for a fintech that cannot send data to a vendor.
GPT OSS 120B and Flux 2 Max on vLLM, routed through LiteLLM behind an ALB and NGINX, so no prompt containing customer financial data leaves the perimeter. The half that mattered more was evaluation: Arize Phoenix with an LLM-as-a-judge rubric scoring thousands of tickets a day on faithfulness and relevance, which is the only way to notice a regression that does not throw. Tuning the async paths also took the chatbot from four c7i.4xlarge instances to two.
- vLLM
- LiteLLM
- Arize Phoenix
- AWS
- NGINX
DEPLOYED2024—25
Financial RAG Corpus
Data / Retrieval
ELT pipeline turning 100k+ annual reports and earnings call transcripts into a searchable vector index.
Download, chunk, embed, upsert — each stage fails differently, so each one needed to be independently resumable rather than wrapped in one retry. Chunk boundaries did more for answer quality than the embedding model did; a table split across two chunks produces a confident wrong number, which is worse than no answer in an advisory context.
- Python
- LangChain
- Pinecone
- GCP
- BigQuery
DEPLOYED2024
Nudge Engine
Applied ML
Multi-armed bandit deciding which notification to send, and when, from live activity feedback.
Personalisation here is an exploration problem, not a model-size problem. Reward-based dispatch over a bandit framework lifted deep-link CTR 22%, and the tuning that mattered was the reward window — attribute too fast and you reward noise, too slow and the arm never learns.
- Python
- BigQuery
- Mixpanel
ARCHIVED2023
Cancer XAI
Research / Interpretability
Explainability layer over proprietary drug-value prediction models for lung cancer cells, with CSIR-NCL.
A stacked ensemble lifted accuracy 45%, but an ensemble is exactly the model a scientist will not trust on sight. SHAP and LIME on top, surfaced through a dashboard and a generated PDF report, was what made the predictions arguable instead of oracular. Multithreading and CUDA kernels cut training 20%. Output: two papers, a software copyright, and a pending patent.
- Python
- SHAP
- LIME
- Streamlit
- CUDA
ARCHIVED2023
GoJopyter
Developer tooling
Containerised notebook environment running a native Go kernel behind an HTMX frontend.
The reason Go notebooks are rare is state: a cell-by-cell REPL wants variables to survive between compilations, which the toolchain does not hand you. This kept a running interpreter session per container with middleware around it, and stopped short of the Language Server Protocol integration that would have made it feel like an IDE.
- Go
- Docker
- HTMX
IN PROGRESS2026
This Site
Web
Nextra 4 blog theme, hand-written CSS, pixel-art icon set, zero component libraries.
Built to prove a point: you can have a fast MDX site with real typography without importing a design system. Every rule in the stylesheet is one somebody chose. Search is Pagefind, so it costs nothing at runtime and nothing per month.
- Next.js
- Nextra
- MDX
- CSS
Working set
Languages
- Python
- Go
- Rust
- C++
- Java
- SQL
AI / GenAI
- LangChain
- LlamaIndex
- PyTorch
- TensorFlow
- vLLM
- Arize Phoenix
Data
- Postgres
- BigQuery
- Kafka
- MongoDB
- Qdrant
- Pinecone
Cloud & Runtime
- GCP
- AWS
- Azure
- Docker
- Kubernetes
- CI/CD