Portfolio · prototype v0.1

GaurangSingh

Data scientist. I build machine-learning pipelines end to end, then draw them so you can see how they work.

B.Tech CSE (Data Science) · IIST Indore · 2027 Mumbai · can join immediately Scroll to run the pipeline ↓
01 / System

One pipeline, six stages

Every project on this page runs through the same six stages. The red path is the route the selected project takes through them.

00DataWhat exists, where it came from, what's wrong with it.
01CleanMissing values, leakage, class imbalance.
02FeaturesTurning raw columns into signal.
03TrainBaselines first, then ensembles and deep models.
04EvaluateMetrics that match the decision being made.
05DeployAn API, a container, or a 6 KB model on a phone.
02 / Selected work · 15 specimens
Specimen 01 · in progressAndroid · on-device ML

StressSense

/a stress model small enough to live on the phone

An Android app that detects stress on the device itself. I distilled a gradient-boosting teacher into an INT8 TensorFlow Lite student that keeps most of the accuracy at a fraction of the size.

5.77 KBmodel size on device
under 1.8 ms per prediction
03 TrainGradient-boosting teacher, 93.5% accuracy
04 EvaluateDistilled student keeps 91.2% accuracy
05 DeployINT8 TFLite inside a Kotlin + Jetpack Compose app

DRAFTAdd the dataset, cleaning and feature steps, plus a repo link.

KotlinJetpack ComposeTensorFlow LiteDistillationINT8
Read the case study → GitHub ↗
Specimen 02 · publishedACET 2025

Ensemble on 70,000 patient records

/from raw records to peer review

A Random Forest and MLP ensemble, taken from data cleaning all the way through peer review and published at ACET 2025.

94.80%accuracy
on 70,000 patient records
00 Data70,000 patient records
03 TrainRandom Forest + MLP ensemble
04 Evaluate94.80% accuracy
05 DeployPeer-reviewed paper, ACET 2025

DRAFTAdd what the model predicts, the features used and a link to the paper.

Random ForestMLPEnsemblingResearch
Read the case study →
Specimen 03 · industryAug–Nov 2025

Predictive automation at Fixo

/AI/ML intern, Fixo (IIT Madras)

Built and deployed ML models for predictive analytics and automation, taking work that used to be done by hand off the team's plate.

−75%manual processing time
03 TrainModels in TensorFlow and scikit-learn
05 DeployShipped into the company's automation workflow

DRAFTAdd the data source, what the models predicted and how they were served.

PythonTensorFlowscikit-learn
Read the case study →
Specimen 04 · evaluationFraud detection

UPI fraud detection

/knowing what the data can't tell you

Heavily imbalanced UPI transactions. A careful evaluation showed the available features carried weak fraud signal, and I reported that plainly instead of dressing up the numbers.

250Ktransactions analysed
00 Data250,000 UPI transactions
01 CleanClass-imbalance handling
04 EvaluateHonest evaluation: weak signal in current features

DRAFTAdd the methods compared and what you would try next.

PythonImbalanced learningModel evaluation
Read the case study →
02.5 / More work · 11 specimensEach opens its own case study
Specimen 05analytics

Retail customer analytics

/the 1% who pay the bills

A million rows from a UK online retailer, cleaned and segmented in SQL. The top 1% of customers bring in almost a third of revenue, and new customers fell by more than half.

31.2%of revenue from the top 1% of customers
SQLPythonRFM
Read the case study →
Specimen 06experimentation

A/B test analysis

/no lift is an answer

Two real experiments read end to end: a landing page that didn't move conversion, and a game change that hurt 7-day retention. Each ends in a clear decision.

290Kusers in the landing page test
StatisticsPower analysisPython
Read the case study →
Specimen 07people analytics

Pay equity audit

/where the gap went

1,470 employees. A +6.2% raw gap shrinks to nothing once you compare like with like, built up one control at a time and then stress-tested.

−0.3%gap with full controls, p = 0.77
RegressionOaxaca–BlinderPython
Read the case study →
Specimen 08systems

Real-time content moderation

/hold, don't guess

Text, images, audio and video each get their own pipeline, and one decision engine returns BLOCK, REVIEW or ALLOW. When something fails, content waits for a human.

0auto-approvals on error
Multimodal MLDecision engineVercel
Read the case study →
Specimen 09SQL

SQL reporting tool

/messy CSVs to six reports

A Flask and SQLite app that cleans messy exports and serves six raw-SQL reports with window functions, query plans and CSV/XLSX export.

6parameterised SQL reports
SQLFlaskChart.js
Read the case study →
Specimen 10computer vision

Licence plate restoration

/read the plate the camera blurred

Detect, rectify, enhance and read degraded plates. Aligning video frames with ECC turned an 80% read into an exact one.

99.5%best OCR confidence on a real plate
OpenCVOCRPython
Read the case study →
Specimen 11full stack

BOM approval workflow

/four sign-offs, one paper trail

A procurement approval system with four roles, an insert-only audit trail and Claude-based cost-risk ratings. Team project, in progress.

10workflow states
Next.jsTypeScriptClaude API
Read the case study →
Specimen 12MLOps

Churn model, priced in dollars

/who gets the retention offer

Telco churn, cross-validated and tuned, then scored by what a retention campaign actually earns. Served as a typed FastAPI endpoint that says send or don't send.

+$9,233campaign value vs the simple rule
XGBoostFastAPIDocker
Read the case study →
Specimen 13forecasting

Demand forecasting

/forecasts that set stock levels

One LightGBM model forecasts daily demand for 500 store-item pairs. Four models are backtested, then the forecast error becomes safety stock, replayed on a held-out final quarter.

10.8%WAPE on the Q4 replay
Time seriesLightGBMPython
Read the case study →
Specimen 14analytics engineering

Olist analytics in dbt

/late parcels, bad reviews

Brazilian e-commerce data modelled in dbt on DuckDB, with tested staging and marts. Late delivery is the clearest driver of one- and two-star reviews.

74 / 75dbt tests pass, 1 warning, 0 errors
dbtDuckDBSQL
Read the case study →
Specimen 15 · in progressLLM agent

Ask your data

/English in, checked SQL out

A text-to-SQL agent over the retail database. Every answer shows its SQL, and two independent locks keep the database read-only. Measured on 30 questions with gold queries.

2independent locks on the database
LangGraphDuckDBClaude API
Read the case study →
03 / About · plan view

A data scientist who also designs

Final-year B.Tech CSE (Data Science) at IIST Indore, graduating 2027. Alongside my degree I co-founded a motion and design studio, which is why this site looks the way it does.

Monky Studio · Co-founder2024–2026100+ projects for 20+ clients: video, motion graphics, brand identity and UI.
Paradox, IIT Madras · Video editor & graphics2023–202550+ visual assets on 48-hour turnarounds, in a team of 15+.
ModelPyTorch, TensorFlow, scikit-learn, XGBoost, Transformers
DataPython, SQL, R, PostgreSQL, MongoDB, Tableau, Power BI
ShipFastAPI, Flask, Docker, Git, Linux, Kotlin
MakeMotion graphics, video, brand and UI design
04 / Serve · output

The pipeline ends with a hire

Mumbai / Navi Mumbai or remote. Open to data analyst, data scientist and ML engineer roles, and can join immediately.