ML Engineer · BS Data Science, IIT Madras · Building matri6

Models are easy. Products are hard. I build the second kind.

Dweep Shishodia — ML engineer. I take problems from raw data to a URL someone can actually open.

About

The matri6 thesis

Most ML work stops at a notebook with a good score in it. Mine stops at a deployed URL — every project listed on this page is live, containerized, or serving predictions to someone.

matri6 is the studio that holds that work: a parent brand under which products get built, branded, and shipped. Paleskies — AI product video generation for D2C brands — is its flagship, and it took runner-up at IIT Madras' Compassion-a-thon 3.0.

I'm currently a second-year BS Data Science student at IIT Madras (CGPA 8.0, Foundational Level complete) and a freelance ML engineer. Open to research assistantships, internships, and full-time roles.

Models are easy. Products are hard.

Toolkit

What I build with

  • Languages

    • Python
    • SQL
    • Java
  • ML / Modeling

    • PyTorch
    • XGBoost
    • LightGBM
    • CatBoost
    • Scikit-Learn
    • Optuna
    • SHAP
  • GenAI / NLP

    • BERT
    • FAISS
    • RAG pipelines
    • Seedance 2.0
    • rembg (BiRefNet)
    • OpenCV
    • Pillow
    • Gemini
    • Groq
    • Hugging Face
    • Ollama
    • Wan 2.2
  • Agentic AI

    • LangChain
    • LangGraph
  • Data & Compute

    • Pandas
    • Polars
    • NumPy
    • Matplotlib
    • Seaborn
    • EDA
    • Feature Engineering
  • Ship & Deploy

    • FastAPI
    • Flask
    • Streamlit
    • Docker
    • Supabase
    • AWS
    • Google Cloud
    • Render
    • Git

Selected work

Seven things that shipped

Newest first. Open a row for the problem, the approach, and the result.

Paleskies AI product video generation for D2C brands — replacing studio shoots with video generated from a single product image. Live FastAPI fal.ai Seedance 2.0 rembg (BiRefNet) OpenCV Pillow Supabase Docker AWS
  • D2C brands pay studio rates and wait days for one product video — the cost and the turnaround are what stop most of them from shipping video at all.
  • The backend is a single pipeline: background removal, preprocessing, reference-to-video generation, then Postgres and Storage persistence — containerized end to end.
  • Runner-up at IIT Madras' Compassion-a-thon 3.0.
Personality Assessment AI Adaptive personality assessment making psychological self-insight affordable. Freelance BERT FAISS Python
  • 5,000 psychologist-authored questions, built by a two-person full-stack team.
  • Adaptive question recommendation engine: BERT embeddings plus FAISS vector search choose the next question from response history and semantic alignment.
  • Explainable report layer computes weighted sub-category contribution scores, so the output is readable rather than opaque.

Confidential client — no name, no logo, no live link.

Rizzing AI-powered dating conversation assistant — generates contextual reply suggestions using a multi-provider LLM pipeline and a behaviorally-learned personality model. Live React Vite Tailwind CSS Zustand Supabase Capacitor (Android) Netlify Gemini 2.5 Flash-Lite Groq (Llama) Cerebras (Llama 3.3 70B)
  • Multi-provider LLM fallback architecture — Gemini, then Groq, then Cerebras — for cost efficiency and uptime resilience.
  • A 7-axis personality inference engine models communication style — confidence, humor, boldness, sarcasm — from behavioral choices rather than self-reported surveys, via a silent weight-adjustment learning loop.
  • Serverless backend on Supabase Edge Functions handles real-time LLM orchestration, Google OAuth plus email OTP auth, and conversation-state modeling — shipped as a combined web and Android (Capacitor) app.
AgroNav Territory prioritization for agri-sales reps — predicts whether a visit converts within 7 days so reps stop burning travel on dead leads. Live app CatBoost LightGBM XGBoost Optuna SHAP FastAPI Google Cloud Run
Test ROC-AUC
0.8141
F1-macro
0.7256
Engineered features
12
Optuna trials
50
  • Gradient-boosted ensemble over 12 engineered features, tuned across 50 Optuna trials and checked with SHAP so the model is learning route economics, not an artifact.
  • Served from FastAPI on Google Cloud Run — a rep gets a ranked visit list, not a notebook.
StockSense Memory-efficient retail demand forecasting over 1.05M+ time-series records. Kaggle Polars LightGBM Optuna
RMSE
1288 → 647
Error cut
~50%
Records
1.05M+
  • Polars lazy evaluation kept 1.05M+ rows inside memory budget through the whole feature build.
  • Lag features, rolling statistics, and store-promo interactions did the work — the error halved before any exotic model was reached for.
AutoVal Instant data-driven used-car valuations for Indian consumers. Live app Flask XGBoost Optuna Render
Accuracy
91%
  • Used-car pricing in India is opaque and dealer-led; a buyer has no independent number to argue from.
  • End-to-end pipeline — cleaning, feature build, XGBoost tuned with Optuna — deployed as a Flask REST backend on Render.
SmartCart Turned an undifferentiated customer base into 4 actionable purchasing personas. Repository K-Means PCA Scikit-Learn
  • PCA dimensionality reduction ahead of K-Means, so the clusters separate on real variance instead of on noise.
  • Four personas a marketing team can act on — targeted campaigns instead of blanket messaging.

All repositories on GitHub ↗

Process

How the work goes

  1. Understand the cost of being wrong.

    Before any modeling, what does a false positive actually cost the person using this?

  2. Build the boring baseline first.

    A simple model that ships beats a complex one that doesn't.

  3. Tune deliberately.

    Optuna sweeps, honest validation, SHAP to check the model learned the real signal and not an artifact.

  4. Ship it.

    Containerize, deploy, hand over a URL. A model nobody can call isn't finished.

Contact

Let's build something that ships.

Open to research assistantships, internships, and freelance ML work.