Kharanshu Naghera
DATA SCIENTIST, MACHINE LEARNING ENGINEER, MLOps, AI ENGINEER
Toronto
Credit, fraud and compliance models at RBC. Seven projects below, each with a held-out number and its baseline.
- name
- Kharanshu Naghera
- class
- Data scientist, machine learning engineer, MLOps, AI engineer
- station
-
RBC (Royal Bank of Canada), Toronto
Software engineer, AI/ML, Jan 2025 to now [+]- Real-time credit scoring on Azure at sub-150 ms p99 (12.4M inferences a month); quarterly model refresh cut from 96 hours to 4.2, Gini up from 0.62 to 0.763.
- Drift-detection microservice (PSI and Wasserstein tests over 42 feature distributions) with automated retraining triggers; quarter-over-quarter decay held under 3% against a historical 8-12%.
- Risk-analyst co-pilot: RAG over 18,000 pages of OSFI and internal policy with two-tier memory (Redis short-term, 7-year audit trail); ad-hoc risk queries went from three business days to 45 seconds, 89% needing no analyst at all.
- Compliance platform on GCP: a six-node LangGraph state machine whose deterministic validation node machine-verifies every generated citation before an analyst sees it; time per case fell from 4.2 hours to 38 minutes at 94.3% citation grounding.
- ADK agents wired into Appian case management, plus an MCP server whose tools write Word and Excel evidence packages and FINTRAC XML filings; the six-metric evaluation framework behind it became the unit standard for GenAI validation.
- Fraud serving rebuilt from a monolith into 8 FastAPI microservices on EKS with Kafka ingestion; TorchScript, INT8 quantization, and TensorRT took inference from 1.8 s to 127 ms at a 28,000 TPS peak, precision 0.74 to 0.962.
- previous
-
Apex Infolab, Bengaluru
Software engineer, applied ML, Aug 2021 to Jul 2023 [+]- Multimodal recommender for a 2.1M-user fashion marketplace: YOLOv5 and ResNet embeddings fused into 1,792-dim product vectors in OpenSearch k-NN (HNSW), warm-starting the collaborative filter; a four-arm A/B test attributed a 20.3% engagement lift, all under a CAD $18k monthly cloud budget.
- Active-learning NLP for ticket triage: 50,000 human labels grown to 462,000 with confidence-gated pseudo-labels (5% human audit, 96.1% confirmed); BERT hit 94.2% accuracy and misrouting fell from 30% to 6.1%.
- Agent corrections flowed back from Zendesk into a weekly retraining DAG; first-response time went from 14 minutes to 3.2.
- Re-architected a 104M-record nightly batch from one Python script to PySpark on EMR with Git-gated CI/CD: 6.2 hours to 42 minutes, SLA adherence 82% to 99.8%.
- Cut the platform bill 25% with Spot fleets, Graviton, storage tiering, and an idle-cluster auto-termination Lambda later adopted company-wide.
- education
-
MSc, big data analytics, Trent University, 2023 to 2025 , GPA 3.7 / 4.0
BE, computer engineering, Gujarat Technological University, 2018 to 2022
- badges
- MAE C$62 sold 384 rendezvous F1 0.99 ground 22 / 30 cite F1 0.635 balance 10 / 15 legal 9.1× race
each badge is a held-out number from one of the seven cards below; press it to jump there
Selected work
eBay iPhone price engine
Prices used iPhones from 30k+ eBay sold listings. Every prediction ships with a calibrated 80% band, and the model runs in your browser on this site.
- stack
- LightGBM
- ONNX
- FastAPI
- Go
- Kubernetes
MAE C$62
R² 0.94, held-out test
band coverage 81.5% (target 80%)
DeadReckon
Ships hiding from AIS: silence away from port, meetings at sea, a declared type the motion contradicts. Every fix lands in ScyllaDB and Redis through Kafka, each silence is judged against how quiet that sea cell usually is, and a transformer projects a dark ship forward. Public NOAA days replayed at 600×.
- stack
- ScyllaDB
- Redis
- Kafka
- H3
- PyTorch
- ONNX
- FastAPI
- deck.gl
384
rendezvous alerts in three replayed hours, from 2,485
per-cell weights; the gap alerts stayed (161 to 169)
regcite
Machine-checked register data from chip datasheets, served to coding agents over MCP. A 3B model went from 0 to 22 of 30 register questions right with the server attached, and no arm asserted a wrong hex value with it.
- stack
- Python
- SQLite
- MCP
- deterministic parsers
- Qwen2.5
- CI
22 / 30
Qwen2.5-3B with regcite, from 0 / 30 bare
7B: 2 / 30 bare to 29 / 30 with it
From data to justice
Offender profiles from 573k solved FBI homicide cases, built to apply to unsolved ones. A 52-run oversampling benchmark with the split done first, plus one run with SMOTE before the split so the leak has a number.
- stack
- XGBoost
- SMOTEENN
- R
- FastAPI
- AWS
F1 0.635
vs 0.469 always-male baseline
ROC-AUC 0.75 · recall(F) 40% vs 0%
Fine-tuning legal LLMs
QLoRA and LoRA adapters for Qwen2.5-3B, scored against LegalBench on 15 legal tasks. Trained end to end on an 8 GB laptop GPU.
- stack
- Qwen2.5
- QLoRA
- Unsloth
- LegalBench
10 / 15
tasks above the base model
QLoRA also beats LoRA on 11 tasks
CouchDB vs MongoDB, in real time
Six experiments on CouchDB and MongoDB over FAO crop data, measured on 2026-09-07. Each race plays for as long as the database took, so a 9× gap is a 9× wait; the slow ones run at 10× or 100× and say so.
- stack
- CouchDB 3.4.3
- MongoDB 8.3.8
- FAO crop statistics
- Cloudflare Workers
9.1×
MongoDB over CouchDB, bulk load of 9,091 rows
CouchDB 4,575 ms, MongoDB 500 ms; CouchDB used 66% of the memory
Experience
2025 - now
RBC (Royal Bank of Canada)
Software engineer, AI/ML · Toronto
- Real-time credit scoring on Azure at sub-150 ms p99 (12.4M inferences a month); quarterly model refresh cut from 96 hours to 4.2, Gini up from 0.62 to 0.763.
- Drift-detection microservice (PSI and Wasserstein tests over 42 feature distributions) with automated retraining triggers; quarter-over-quarter decay held under 3% against a historical 8-12%.
- Risk-analyst co-pilot: RAG over 18,000 pages of OSFI and internal policy with two-tier memory (Redis short-term, 7-year audit trail); ad-hoc risk queries went from three business days to 45 seconds, 89% needing no analyst at all.
- Compliance platform on GCP: a six-node LangGraph state machine whose deterministic validation node machine-verifies every generated citation before an analyst sees it; time per case fell from 4.2 hours to 38 minutes at 94.3% citation grounding.
- ADK agents wired into Appian case management, plus an MCP server whose tools write Word and Excel evidence packages and FINTRAC XML filings; the six-metric evaluation framework behind it became the unit standard for GenAI validation.
- Fraud serving rebuilt from a monolith into 8 FastAPI microservices on EKS with Kafka ingestion; TorchScript, INT8 quantization, and TensorRT took inference from 1.8 s to 127 ms at a 28,000 TPS peak, precision 0.74 to 0.962.
2021 - 2023
Apex Infolab
Software engineer, applied ML · Bengaluru
- Multimodal recommender for a 2.1M-user fashion marketplace: YOLOv5 and ResNet embeddings fused into 1,792-dim product vectors in OpenSearch k-NN (HNSW), warm-starting the collaborative filter; a four-arm A/B test attributed a 20.3% engagement lift, all under a CAD $18k monthly cloud budget.
- Active-learning NLP for ticket triage: 50,000 human labels grown to 462,000 with confidence-gated pseudo-labels (5% human audit, 96.1% confirmed); BERT hit 94.2% accuracy and misrouting fell from 30% to 6.1%.
- Agent corrections flowed back from Zendesk into a weekly retraining DAG; first-response time went from 14 minutes to 3.2.
- Re-architected a 104M-record nightly batch from one Python script to PySpark on EMR with Git-gated CI/CD: 6.2 hours to 42 minutes, SLA adherence 82% to 99.8%.
- Cut the platform bill 25% with Spot fleets, Graviton, storage tiering, and an idle-cluster auto-termination Lambda later adopted company-wide.
2023 - 2025
Trent University
Masters in big data analytics · GPA 3.7 / 4.0 · Peterborough, ON
What I work with
Modeling
XGBoost, LightGBM, CatBoost, scikit-learn, PyTorch, TensorFlow, imbalanced learning (focal loss, SMOTE families), conformal prediction
LLMs and agents
LangChain, LangGraph, Google ADK, MCP servers, Azure OpenAI, Gemini on Vertex AI, fine-tuning (LoRA, QLoRA, Unsloth), Hugging Face, evaluation design
Retrieval
Hybrid RAG (dense + keyword), Vertex AI Vector Search, OpenSearch k-NN (HNSW), FAISS, Pinecone, cross-encoder re-ranking, embedding pipelines
Serving and MLOps
FastAPI, gRPC, Docker, Kubernetes (EKS, AKS), ONNX, TensorRT, quantization, SageMaker, MLflow, Feast, drift monitoring, canary deploys, Go
Data engineering
Python, SQL, PySpark, Databricks, Delta Lake, Airflow, Kafka, Kinesis, EMR, Glue, BigQuery, web scraping (Scrapy)
Cloud and observability
AWS, Azure, GCP, Terraform, CI/CD (Cloud Build, CodePipeline, GitHub Actions), Prometheus, Grafana, OpenTelemetry, Power BI
Open to ML and applied AI positions.
Email gets the fastest reply. The resume and the code are linked below.
Social distance analyzer
People closer than 2 m, measured on the floor from one camera with no depth sensor. Eleven YOLO detectors benchmarked on MOT17 and WILDTRACK, and the old pixel rule scored against ground truth.
F1 0.99
pairs under 2 m, four clicked floor points
pixel rule 0.50 on the same frames