I write code across the ML stack: training and evaluating models, building the pipelines that feed them, and shipping the backend services that serve them. Based in New Jersey, open to relocating.
I move between AI engineering, ML engineering, data engineering, and backend software, and I don't treat those as separate tracks. The person who writes the ETL pipeline should understand why the model trained on it drifted, and the person who trains the model should know what happens when its API gets hit 1,000 times a second.
On the AI engineering side, I've built a RAG evaluation platform that benchmarks three retrievers against three LLM providers, a four agent financial research system that combines FinBERT sentiment with LLM as judge scoring, and a voice to SQL app that turns natural language into guarded queries over 3.4 million orders. What I actually care about is whether the outputs are correct, not whether the demo looks good.
For ML engineering, I compiled a ResNet 50 model to a TensorRT engine and got a 3.55x throughput gain with zero accuracy loss, and I built an XGBoost churn model with a quality gate that blocks any retrain if it regresses PR AUC by more than 0.01. At Montclair State University I ran a fairness drift study across 12 LLM versions from 5 providers, currently under double blind review. Most recently I coauthored a systems paper benchmarking a C++ ONNX Runtime engine against PyTorch for RLHF reward scoring. The honest finding there was that the speedup came from graph execution, not from C++ itself, which wasn't the answer I expected going in.
The software and data engineering work is where a lot of this actually gets used. I built Kafka based async services and Redis caching at 4SS Software Solutions that cut processing time and API latency by double digit percentages, and I still maintain a Python and SQL pipeline for Saayam For All that has generated over 30,800 validated records so far. I tend to spend more time than most people on the boring parts: schema validation, exception handling on Lambda functions, making sure a pipeline fails loudly instead of quietly.
A RAG evaluation platform benchmarking 3 retrievers against 3 LLM providers. Tracks faithfulness, accuracy, latency, cost, and pass rate, with GitHub Actions gates that catch prompt, retrieval, and metric regressions before release, plus a Streamlit dashboard for monitoring.
4-agent async financial research system covering US, NSE, and BSE markets with plurality-vote signals, LLM-as-judge scoring, FinBERT sentiment, and Markowitz portfolio optimization.
Voice-to-SQL app converting natural-language queries into guarded SQL and Plotly charts. Handles 3.4M orders and 30M+ line items with dynamic allowlists and a 29-test eval suite.
End-to-end Delta Lake medallion architecture (bronze/silver/gold) with partition pruning and Z-ordering for scalable analytics pipelines.
Change Data Capture pipeline for real-time database event streaming, with schema evolution handling and backpressure management for reliable downstream delivery.
AI-powered data quality monitoring with LLM-assisted rule generation from schema profiles and automated anomaly alerting integrated into CI/CD data pipelines.
Production-grade churn prediction system: trained an XGBoost classifier on 7,043 records with 50-trial Optuna tuning, gated promotion via a two-tier quality gate enforcing ≤0.01 PR-AUC regression against the Champion model in the MLflow Registry, and automated the lifecycle via GitHub Actions cron, an Evidently drift monitor, a FastAPI endpoint, and a Streamlit dashboard.
Compiled ResNet-50 to an FP16 TensorRT 11 engine on CUDA 12.4 with zero accuracy loss across 10K CIFAR-10 images; documented an INT8 tactic failure on sm_86 and validated memory via cudaMemGetInfo delta isolation.
An ML feature pipeline on NYC Taxi data that enforces train-serve parity through PySpark. Features are registered in a Feast offline store for training and materialized to Redis for low-latency inference. Serving skew gets caught at inference time using SHA-256 feature-matrix hashes and strict column-order checks.
Built a native C++ inference engine on ONNX Runtime for RLHF reward model scoring and benchmarked it against PyTorch eager mode, torch.compile, and a FastAPI serving layer on both CPU and GPU, using repeated independent process launches rather than single run timings.
A release level fairness drift regression audit framework: a reproducible pipeline for detecting whether a new model version introduces fairness regressions before deployment. Applied to 12 model versions from 5 providers across 6 model families and 7 public bias benchmarks (about 200K examples), evaluating sentiment, toxicity, and stereotype proxy dimensions.
Investigates whether machine translation (IndicTrans2, en-indic-1B) can generate BabyLM scale training corpora for low resource languages. Translates the 100M word English BabyLM corpus into Hindi and Telugu, then trains and evaluates monolingual and bilingual GPT-Wee (GPT-2 style) and GPT-BERT models against pretrained multilingual baselines.
A federated learning framework combining capsule endoscopy imaging with gene expression data for privacy preserving Crohn's disease diagnosis.
A controlled comparison of monolingual vs. multilingual GPT-2 and RoBERTa models across all four Dravidian languages (about 36.4GB of corpus from CC-100, Wikipedia, and Samanantar), evaluated against MuRIL, IndicBERT v2, mBERT, and XLM-R baselines.
Evaluates subword tokenization across Telugu, Hindi, and English to measure token inflation, computational cost, and accuracy-efficiency trade-offs for low resource and morphologically rich languages.
Looking for full-time AI Engineer, ML Engineer, or Data Engineer work. If you're hiring, or just want to talk about any of this, reach out.