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 Train | Gradient-boosting teacher, 93.5% accuracy |
| 04 Evaluate | Distilled student keeps 91.2% accuracy |
| 05 Deploy | INT8 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 Data | 70,000 patient records |
| 03 Train | Random Forest + MLP ensemble |
| 04 Evaluate | 94.80% accuracy |
| 05 Deploy | Peer-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 Train | Models in TensorFlow and scikit-learn |
| 05 Deploy | Shipped 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 →
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 →