MSCS (Honors) @ USC · ML / AI Engineer

Hi, I'm Aditya Jain.
I build machine learning that ships.

I'm a machine learning and software engineer on the Search team at Salesforce, where I build data and ML systems at scale — from Search Analytics, which streams tens of millions of rows per org from Apache Iceberg into customers' Data Cloud, to entity-prediction models on Salesforce's open-source ml4ir. I enjoy turning research ideas into production features people actually use.

I earned my MS in Computer Science with Honors (4.0 GPA) from USC, where I also TA'd Applied NLP (CSCI-544). Before that I spent two years as a Data Scientist at Cognizant working on search-ad click prediction and healthcare analytics. My interests span NLP, information retrieval, and computer vision — especially applications at the intersection of language and vision.

Portrait of Aditya Jain

Writing

Blog

Building the Chatbot on This Site: from the series to a live assistant

The capstone: a full, file-by-file walkthrough of the assistant on this site — crawler, from-scratch RAG, a ReAct agent, tools over MCP, SSE streaming, an embeddable Shadow-DOM widget, and the safety-and-cost work tutorials skip. Every step points at the real code on GitHub and the production tool you'd swap in. It's live — go talk to it.

Evaluating & Observing LLM Apps

You can't improve what you can't measure. This post builds evaluation from scratch — a golden set, hit@k and MRR for retrieval, a groundedness check for answers — plus lightweight tracing to see where latency and cost go, then points at how the whole system ships. With interactive metric and trace playgrounds.

Fine-Tuning & Serving LLMs: LoRA, quantization, and vLLM

When prompting isn't enough, you fine-tune. This post builds LoRA's low-rank idea from scratch in NumPy, shows why it trains ~250x fewer parameters, explains quantization and why 4-bit lets big models fit on small GPUs, and covers serving with vLLM. With interactive calculators for rank and memory.

How AI Agents Actually Work: ReAct from scratch

An 'agent' is a while-loop around an LLM plus a text protocol for calling tools. This post builds the ReAct pattern — Reason, Act, Observe — by hand with no framework, so you can see there's no magic, then shows what LangGraph and MCP add on top. With an interactive trace you can step through.

How GPT Works — Part 5: From Base Model to ChatGPT

The final step: how a raw next-token predictor becomes a helpful assistant. Part 5 covers pretraining, supervised fine-tuning, and RLHF, the difference between a base model and a chat model, plus the context window and KV-cache that govern inference.

Toolbox

Skills

Languages

  • Python
  • Scala
  • Java
  • C / C++
  • SQL
  • JavaScript
  • HTML / CSS

ML / AI

  • Machine Learning
  • Deep Learning
  • Reinforcement Learning
  • Statistical Modelling
  • Descriptive & Inferential Statistics

Frameworks & Libraries

  • Keras / TensorFlow
  • scikit-learn
  • pandas
  • matplotlib / seaborn
  • NLTK
  • pySpark

Tools & Platforms

  • Git
  • Docker / Swarm
  • gRPC
  • MongoDB
  • Linux
  • Web Development
  • Android

Selected work

Projects

Portfolio Chatbot — Agentic RAG

A retrieval-augmented, agentic assistant for my site, built from scratch (no LangChain): a ReAct agent that searches a crawl of my blog and can email me, with tools exposed over MCP and streamed to an embeddable chat widget. Runs on a fully-free stack — FastAPI on Render, Gemini for generation and embeddings.

RAG · Agents · MCP · FastAPI · Gemini

TradeBuddy — Stock Analysis

A client-side stock-analysis tool: enter a US ticker to get support/resistance zones, entry/stop/target levels, risk:reward, and position sizing. All math runs in the browser and shows its work — the formula and source behind every number. Not financial advice.

JavaScript · Technical Analysis · Charts

Checkers AI — Alpha-Beta Minimax

An AI agent using Minimax with alpha-beta pruning to play checkers. Built for the CSCI-561 "Foundations of AI" course, where it competed against other students' agents.

AI · Minimax · Game

MLfromScratch

Classification, regression, and clustering algorithms — plus metrics, preprocessing, and model-selection helpers — implemented from scratch with NumPy for a deeper understanding of how they work.

Machine Learning · NumPy · Python

Brain Tumor Segmentation (MRI)

A U-Net (from "U-Net: Convolutional Networks for Biomedical Image Segmentation") built in Keras to segment brain tumors in MRI scans.

Deep Learning · Segmentation · Keras

NER / POS Tagging App

An LSTM-based seq2seq model that tags every word of a paragraph with its Named Entity or Part of Speech. Served with Flask and Docker.

NLP · LSTM · Flask · Docker

Career

Experience

  1. May 2023 — Present

    MTS Software Engineer

    Salesforce, Inc.

    San Francisco, California

  2. Jan 2023 — Apr 2023

    Software Engineer

    TaxBit, Inc.

    Seattle, Washington

  3. Aug 2022 — Dec 2022

    Teaching Assistant — Applied NLP

    USC Viterbi School of Engineering

    Los Angeles, California

  4. May 2022 — Aug 2022

    Software Engineering Intern

    Salesforce, Inc.

    San Francisco, California

  5. Feb 2021 — May 2022

    Student Research Assistant

    USC Institute for Creative Technologies

    Los Angeles, California

  6. Sep 2018 — Dec 2020

    Associate Data Scientist

    Cognizant Technology Solutions

    Bengaluru, India

  7. Apr 2016 — Jul 2016

    Intern — MEAN Stack Developer

    Heelium Sports Pvt. Ltd.

    Pune, India

Academics

Education

  1. Jan 2021 — Dec 2022

    M.S. in Computer Science (Honors)

    University of Southern California

    Los Angeles, California

  2. Aug 2014 — Jun 2018

    B.E. in Computer Science

    Maharashtra Institute of Technology

    Pune, India

Say hello

Get in touch

Have an opportunity, a question, or just want to talk ML? Drop a message and I'll get back to you.