Data scientist · GenAI, RAG, NLP, MLOps

Rishabh Maheshwari

I build the evaluation before the model.

I’m a data scientist. For two years I’ve built GenAI and ML systems that shipped. Voice-enabled RAG over documents stuffed with text, images and tables. Retrieval that respects who’s allowed to see what. Models on Kubernetes, retrained on every push.

The part I’m proudest of isn’t the modelling, though. It’s that if you don’t believe a number on this page, you can click through to the file that produced it and rerun the thing yourself, because CI regenerates every one of them on each push and turns red the moment something drifts. That’s the whole idea.

Rishabh Maheshwari
  • Now MS Computer Science USC Viterbi School of Engineering, from Aug 2026
  • Industry 2 years GenAI and applied ML in production, plus quantitative research
  • Open source GSoC ×2 Contributor 2022, then mentor for The Linux Foundation
  • Standing Rank 1 Department Rank 1 and Institute Silver Medalist, IIT Mandi

Selected work

Three repos, all public. The numbers aren’t screenshots — CI regenerates them on every push, and anything drifting more than 0.02 fails the build.

knowledgeforge

Generative AI · retrieval-augmented generation under access control

knowledgeforge continuous integration status MIT v1.0.0

Every RAG demo assumes everyone can read everything. Real companies don’t. So the permission filter lives inside the index query here rather than running afterwards on the results, which means content you aren’t cleared for never reaches the app, the prompt or the logs. It never leaves the index at all.

Evidence
evaluation/results.json — 30 questions, 10 documents, 51 chunks. This harness is how I picked the retriever, and Okapi BM25 won by roughly a third more MRR. It also keeps relevance scores identical no matter who’s asking.
  • 0.767 hit@5
  • 0.621 mean reciprocal rank
  • 0.657 nDCG@5
  • Azure OpenAI
  • Azure AI Search
  • BM25
  • FastAPI
  • JWT
  • Terraform
View source

mlops-churn-prediction

Applied ML · subscriber lifecycle churn

mlops-churn-prediction continuous integration status MIT v1.0.0

A four-month-old account and a four-year-old one churn for completely different reasons, and at four times the rate: 54.9% in the first four months against 14.0% after two years. Train a single model on both and it spends most of its capacity learning tenure. So I didn’t. One model per lifecycle stage instead.

Evidence
artifacts/metrics.json — the dataset is pinned by SHA-256, so two runs give byte-identical output. CI retrains on every push. Drift past 0.02 and the build fails. PR-AUC and Brier sit next to ROC-AUC, because on a problem this imbalanced those are the numbers that actually mean something.
  • 0.783 weighted ROC-AUC
  • 0.494 PR-AUC
  • 1,410 held-out customers
  • CatBoost
  • MLflow
  • scikit-learn
  • pandas
  • Optuna
  • Docker
View source

formulate

LLM-constrained optimization

formulate continuous integration status MIT v1.0.0

You describe a business problem in English. It comes back solved, with the reasoning shown. The trick is that the language model never gets near the solver — it only emits a typed spec, and everything downstream of that is ordinary code I can unit-test line by line.

Evidence
bench/results.json — ground truth from brute-force enumeration in plain Python. No Pyomo. No HiGHS. Nothing that could share a bug with the code being tested, which is the only reason 5/5 exact is worth saying out loud.
  • 5/5 exact against an oracle
  • 0.00e+00 max absolute error
  • 5450 optimum solved in-container
  • Python
  • Pyomo
  • HiGHS
  • FastAPI
  • pydantic
  • Docker
  • Terraform
View source

Experience

  1. 11 months

    Associate Data Scientist

    Celebal Technologies Jaipur

    • Built and deployed AI and GenAI systems across insurance, medical, and energy domains.
    • Engineered a multimodal, voice-enabled RAG pipeline combining Whisper, CLIP, and Databricks Vector Search to query documents containing text, images, and tables.
    • Architected MLOps pipelines with MLflow tracking, Azure DevOps CI/CD, and Azure Kubernetes Service for real-time inference.
    • Built an XGBoost ensemble and a K-Means/SOM load-forecasting system, with FastAPI services in front of them.
    • Databricks
    • Azure
    • MLflow
    • AKS
    • FastAPI
  2. 1 year 3 months

    Market Analyst

    Futures First Gurugram

    • Turned high-frequency derivatives data into trading signals.
    • Built Python preprocessing pipelines over 500,000+ market records using Box-Cox transformation, log scaling, and PCA.
    • Trained ensemble models (XGBoost, LightGBM) alongside statistical time-series models.
    • Backtested strategies with senior traders against their own market hypotheses.
    • Python
    • XGBoost
    • LightGBM
    • PCA
  3. 2 years 7 months

    Google Summer of Code Mentor

    The Linux Foundation

    • Mentored contributors across the printing and scanning stack: a scanner application in PAPPL, IPP Everywhere 2.x support in CPDB, and a native Gutenprint application.
    • Wrote the onboarding documentation and tutorials that later contributors started from.
  4. 5 months

    Google Summer of Code Contributor

    The Linux Foundation

    • Implemented eSCL (AirScan) scanning support in PAPPL, the C framework behind CUPS printer applications.
    • Built an XML capability parser across scanner-xml.h and client-escl.c, covering color modes, document formats, discrete and ranged resolutions, setting profiles, ADF justification, source capabilities, and compression.
    • Two commits merged upstream into PAPPL. Mentored by Till Kammerman.
    • C
    • libxml
    • DNS-SD
    • eSCL
  5. 2 months

    Software Engineer Intern

    Teevro Solutions Jaipur

    • Built a machine-learning application to parse and process bank statements.
    • Rebuilt the web interface for sales and financial insights.
    • Integrated GST lookup and Listmonk automation APIs.
Earlier student leadership
  • Student Representative, Career & Placement Cell, IIT Mandi Jun 2023 — May 2024
  • Management Lead, Google Developer Student Clubs, IIT Mandi Aug 2021 — Aug 2022
  • Frontend Web Developer, Clubmate, Mandi Mar 2022 — Apr 2022

Background

Education

  • MS Computer Science University of Southern California, Viterbi School of Engineering
  • B.Tech (Honours) Indian Institute of Technology Mandi

Honors

  • Institute Silver Medalist IIT Mandi
  • Department Rank 1 IIT Mandi, B.Tech cohort
  • Foundation Day Award IIT Mandi

Tools I reach for

Generative AI & LLMs

  • RAG
  • Multimodal RAG
  • LLM evaluation
  • Prompt engineering
  • Structured output
  • Azure OpenAI
  • Databricks Vector Search
  • Whisper (ASR)
  • CLIP
  • Claude Agent SDK
  • LLMOps
  • Groundedness

NLP & information retrieval

  • Hybrid search
  • Vector search
  • Embeddings
  • BM25 / Okapi
  • Document chunking
  • Tokenization
  • Recursive-descent parsing
  • Speech-to-text
  • nDCG / MRR / hit@k
  • Citation accuracy
  • Document-level RBAC

Machine learning & deep learning

  • PyTorch
  • TensorFlow
  • scikit-learn
  • CatBoost
  • XGBoost
  • LightGBM
  • OpenCV
  • Optuna
  • Feature engineering
  • Class imbalance
  • Model evaluation

MLOps & platform

  • MLflow
  • Databricks
  • Unity Catalog
  • Azure Kubernetes Service
  • Docker
  • Kubernetes
  • Azure DevOps
  • GitHub Actions
  • Terraform
  • CI/CD quality gates

Languages & data

  • Python
  • C / C++
  • SQL
  • Bash
  • pandas
  • NumPy
  • PyArrow
  • FastAPI
  • pydantic
  • Pyomo

Looking for a Summer 2027 internship

GenAI, retrieval, NLP, applied ML. I’m most useful where someone needs to prove a system works rather than demo it once and move on. Email’s fastest.