2+ yrs at Tata Consultancy Services · Intern @ JP Morgan Chase & IIT Indore (2022) · MSc Data Science, Naples · 🥇 Google Challenge Campania 2026 (1st, STEM)
I build machine learning systems end to end, from data preparation and modelling through to containerized deployment and monitoring. I spent 2+ years at Tata Consultancy Services building production data systems across the technology and financial sectors, and I'm now completing an MSc in Data Science at the University of Naples Federico II. In 2026 I led a team to 1st Place (STEM) at Google Challenge Campania, building a generative AI solution.
- Full-lifecycle ML: data preparation, modelling, evaluation, containerized deployment, and monitoring
- Production systems: FastAPI, Docker, and AWS, not just notebooks
- Big data: PySpark, Kafka, and Spark NLP on high-volume streaming data
- Applied experience: 2+ years building data systems in technology and financial services at TCS
| Domain | Technologies |
|---|---|
| ML & Deep Learning | |
| Big Data & Streaming | |
| MLOps & Cloud | |
| Languages & Data |
Every project below is deployed, documented, or has a live demo. Click through.
What: Churn prediction for a SaaS account base that outputs a weekly, revenue-weighted list of which customers the retention team should contact first.
Impact: 0.82 ROC-AUC and a 6.3x lift on the top 50 accounts. Ranking by expected revenue instead of raw probability protects about 32% more monthly revenue on the sample data.
How it works: 7-table weekly account panel → SQL feature view → XGBoost with isotonic calibration → risk bands and a priority queue → Streamlit dashboard. Grouped cross-validation, an explicit leakage policy, and 67 tests.
Python XGBoost Scikit-learn SQL Streamlit
What: Predicts which antibiotics will fail against a Staphylococcus aureus isolate from its genome, before laboratory results are back. Built at the Hack-Nation Global AI Hackathon by a team of three; I owned the per-drug models, probability calibration, and the evaluation.
Impact: Balanced accuracy 0.98 for ciprofloxacin and erythromycin and 0.90 for the MRSA call, on a leakage-safe split of 1,863 real genomes. Every prediction is calibrated and cites the resistance gene behind it, with an explicit "no-call" when the evidence is weak.
How it works: AMRFinderPlus determinant features → one L1 logistic regression per drug behind a biology-based gate → probability calibration → decision report. Genomes are clustered and split by cluster so near-duplicate isolates cannot leak across train and test.
Python Scikit-learn Streamlit Model Calibration Bioinformatics
What: Predicts whether an Airbnb listing is an entire home, private room, or shared room from its price, location, and review activity.
Impact: 85.9% test accuracy and 0.747 macro-F1 on 48,895 listings, served as a live FastAPI application with an interactive UI.
How it works: EDA and cleaning → log transforms and one-hot encoding in a Scikit-learn pipeline → model comparison → tuned Random Forest → FastAPI and Docker on Render.
Python Scikit-learn Random Forest FastAPI Docker
What: Classifies a live tweet stream as positive, negative, or neutral in real time with Spark Structured Streaming.
Impact: 67.4% mean accuracy and 73.5% weighted precision across 333 streaming micro-batches, processed without a crash.
How it works: Kafka producer replays a 1M-tweet dataset → Spark Structured Streaming consumer → Universal Sentence Encoder embeddings (Spark NLP) → Spark ML logistic regression → per-batch and cumulative metrics.
PySpark Kafka Spark NLP Spark MLlib
What: Predicts used-bulldozer auction prices from 401,125 historical sales.
Impact: Validation MAE of $5,971 and RMSLE 0.238 with a tuned Random Forest, down from $8,114 for a single decision tree. Detected and removed a 30% resale leak in the validation set.
How it works: Date-based train/validation split, median imputation with missing-value flags, ordinal encoding, a log-transformed target, model comparison, and RandomizedSearchCV tuning.
Python Scikit-learn Random Forest Feature Engineering
What: Self-hosted pipeline that discovers job postings, scores them against a profile with an LLM, and drafts tailored applications.
Impact: Runs continuously in Docker for about $1.80/month, replacing manual job search with automated scoring and matching.
How it works: n8n orchestration → job discovery from RSS feeds → LLM API scores and extracts each posting → PostgreSQL stores state → tailored resume bullets and a cover letter generated for the top matches.
n8n LLM API PostgreSQL Docker
| Role | Organisation | Period | |
|---|---|---|---|
| 🏆 | Google Challenge 2026, 1st Place (STEM) | Generative AI (Gemini + NotebookLM Pro) | 2026 |
| 🎓 | MSc Data Science | University of Naples Federico II | Dec 2025 to Present |
| 💼 | Data Analyst | Tata Consultancy Services | Aug 2023 to Nov 2025 |
| 💼 | Intern | JP Morgan Chase | 2022 |
| 🔬 | Research Intern | IIT Indore | 2022 |
| 🎓 | BTech Civil Eng. | Jamia Millia Islamia (1st Div. Honours) | 2019 to 2023 |
Open to opportunities in Data Science, ML Engineering & MLOps
LinkedIn · Portfolio · deepakkushwaha771@gmail.com

