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.
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.
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.
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.
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.
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.
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.
Career
Experience
- May 2023 — Present
MTS Software Engineer
Salesforce, Inc.
San Francisco, California
- Jan 2023 — Apr 2023
Software Engineer
TaxBit, Inc.
Seattle, Washington
- Aug 2022 — Dec 2022
Teaching Assistant — Applied NLP
USC Viterbi School of Engineering
Los Angeles, California
- May 2022 — Aug 2022
Software Engineering Intern
Salesforce, Inc.
San Francisco, California
- Feb 2021 — May 2022
Student Research Assistant
USC Institute for Creative Technologies
Los Angeles, California
- Sep 2018 — Dec 2020
Associate Data Scientist
Cognizant Technology Solutions
Bengaluru, India
- Apr 2016 — Jul 2016
Intern — MEAN Stack Developer
Heelium Sports Pvt. Ltd.
Pune, India
Academics
Education
- Jan 2021 — Dec 2022
M.S. in Computer Science (Honors)
University of Southern California
Los Angeles, California
- 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.
- adityajn105@gmail.com
- Sunnyvale, CA