Monlab notebook · page 147

currently training:

□ MTech Data Science · epoch 1/4

□ Cachy · knowledge engine

□ RAG evals · reading list

Vatsal Vaghasiya

AI engineer in training. I build models, ship the apps around them, and keep notes on what didn't work.

13 projects shipped  ·  2 papers under review  ·  4 experiments running

// training progress

Skills

Self-scored. Each bar lists the shipped projects it comes from.

Python0%

Primary language of every shipped AI project.

✓ Cachy  ✓ AirSwipe  ✓ IPL pipeline  ✓ +10 more

Deep Learning · PyTorch0%

Two research papers built on it.

✓ ProbCLIP-A  ✓ preference paper

Computer Vision0%

MediaPipe, OpenCV, CLIP in shipped products.

✓ AirSwipe  ✓ Cachy OCR  ✓ ProbCLIP-A

LLMs & RAG0%

Built retrieval from scratch; still the newest skill here.

✓ Constitution QA  ✓ Cachy LLM chain  → current focus: evals

SQL & Data Wrangling0%

pandas, SQLite, messy real-world Excel included.

✓ Bangalore AQI  ✓ 14-station consolidation

MLOps · Docker · FastAPI0%

Drift detection, monitoring, multi-service deploys.

✓ IPL drift pipeline  ✓ HF Spaces deploys

App Development0%

Most of my models end up inside an app.

✓ 7 shipped apps  ✓ Flutter  ✓ Swift

// experiment board

Trying · Finished · Failed

Failed experiments stay on the board.

→ trying

RAG deep-dive: retrieval, chunking, eval.
ProbCLIP-A paper: waiting on peer review.
MTech Data Science, epoch 1 of 4.

✓ finished

Swap augmentation killed position bias in preference model.
DBSCAN beat K-Means at finding pollution hotspots.
Drift monitor computing PSI every 5 minutes, in production style.

✗ failed ← kept on purpose

First RAG stress test: 20 hard queries, many misses. Fixed chunking → 78% accuracy, documented in FAILURES.md.
LangChain version had too much overhead. Deleted it, rewrote retrieval in ~60 lines.
CLIP adapter variance collapsed to zero. KL warmup schedule fixed it.

// index cards · how I work

Engineering principles

Ship before perfect

Small working systems beat ambitious prototypes. Cachy launched with a three-provider fallback chain because free APIs kept dropping.

Measure everything

If I can't evaluate it, I can't improve it. Even the skills section on this page has numbers.

Understand the abstraction

I write core pieces from scratch before reaching for a framework. That's how the 60-line retriever happened.

Failures are artifacts

Dead ends get documented. FAILURES.md ships with the repo because I keep needing it later.

// pinned to the desk

Selected projects start with the RAG one ↓

Each card shows the pipeline it ran through. All code on GitHub.

Cachy

knowledge engine · flutter + fastapi

Turns Reels, Shorts and articles into structured knowledge cards: transcription, OCR, an LLM chain with automatic fallback across Gemini / Cerebras / Groq, all linked in a semantic knowledge graph.

ingesttranscribe/OCRLLM chaincardsgraph

Whisper · OpenCV · Tesseract · SQLite · HF Spaces

Constitution of India · RAG Q&A

rag from scratch · no langchain

Ask the Indian Constitution anything, get grounded answers with exact citations and similarity scores. Retrieval written from scratch in ~60 lines. A 20-query stress test is documented in the repo, 78% accuracy after fixing chunking.

pdfchunkembedretrievecite

sentence-transformers · ChromaDB · Mistral-7B

flip →

IPL Match Predictor · MLOps

full ml lifecycle · self-monitoring

XGBoost match-outcome model served over FastAPI, with a monitor computing Population Stability Index every 5 minutes to catch data drift, and a live Streamlit health dashboard. Three services, Docker Compose.

datafeaturestrainservemonitor

XGBoost · FastAPI · Streamlit · Docker

AirSwipe

computer vision · gesture control

Control PowerPoint with bare hands through a webcam: swipe to navigate, point for a live laser dot, pinch to zoom. Orientation-invariant detection with dwell-time guards against accidental triggers.

webcamlandmarksgestureaction

MediaPipe · OpenCV · PyQt6

Bangalore Air Quality

data mining · unsupervised

A year of data from 14 CPCB stations, 6 engineered features, three clustering algorithms compared. DBSCAN worked best since it flags outliers, and the outliers were the hotspots. Silk Board hit AQI 500.

excel messcleanfeaturesclusterhotspots

pandas · scikit-learn · DBSCAN

ScribbleType

on-device ml · accessibility

Handwriting-to-text Android keyboard for seniors: on-device ink recognition, a personal dictionary that learns your writing, and Catmull-Rom smoothing to filter hand tremor.

strokessmoothrecognizelearn

ML Kit · Flutter · Kotlin IME

// the app shelf

Apps, shipped keep scrolling → the shelf slides

Five native macOS apps in Swift, plus mobile and web. Each one started as something I wanted on my own machine.

Insomniac.appmacOS

Keeps a Mac awake, lid closed included. Timed durations, global shortcut, and smart triggers: auto-enables on chosen apps, Wi-Fi networks, high CPU, or active downloads. Scriptable via insomniac:// URL scheme.

Swift 5.9 · AppKit · IOKit · NWPathMonitor

Glide.appmacOS

Custom 3/4/5-finger trackpad gestures for window snapping, media control, launching apps. A slow swipe switches windows, a fast flick opens the browser. Reciprocal undo, haptic feedback, per-app filters.

Swift · AppKit · IOKit multitouch

iBar.appmacOS

Themes the macOS menu bar, which Apple gives you no API for. Click-through overlay at the menu bar's own window level, gradients and blur, auto-presets on window state, notch-aware, and it reads menu titles via Accessibility API to keep them legible.

Swift · SwiftUI · Accessibility API · CGWindowList

Dimmer.appmacOS

Dims displays below the hardware minimum using overlay windows, each connected monitor independently. Lives in the menu bar, does one thing well.

Swift · SwiftUI · AppKit

PhotoWidget.appmacOS

Your own photos as desktop widgets: four sizes, per-widget photo choice, full color even in monochrome widget mode.

Swift · WidgetKit · AppIntents

Smart WardrobeFlutter

A closet manager: photograph your clothes once and the app plans what you wear.

  • Outfit suggestions by occasion, from clothes you actually own
  • "Today" screen checks live weather + recent wear history first
  • Wash tracking and packing lists built against the forecast

Flutter · SQLite · on-device, no account

AI Career OSWeb

A career dashboard answering one question each morning: what should I work on today to get hired?

  • Weighted hiring-readiness score, 0–100, across six areas
  • Interactive lessons with Python in the browser via Pyodide
  • Resume builder with a deterministic ATS score

Next.js 16 · React 19 · TypeScript · Pyodide

// running total: 13 projects, all listed on this page.

// research shelf

Domains I've shipped in

Hover a book to see the projects behind it.

Computer VisionAirSwipe · Cachy OCR · ProbCLIP-A · ScribbleType
NLP & LLMsConstitution RAG · Preference paper · Cachy LLM chain
MLOpsIPL drift pipeline · Docker · PSI monitoring
Data MiningBangalore AQI · clustering · feature engineering
App Development7 shipped apps · Flutter · Swift · Kotlin
Preference LearningSiamese DeBERTa paper · human preference prediction

// research wall · click a paper

Papers under review

Written as an MTech student, trained on free GPUs. Click to flip.

status: under review

Efficient LLM Preference Prediction

Siamese DeBERTa with swap augmentation & temperature calibration

trained for $0 !

flip →

the short version

Predicts which chatbot answer humans prefer, at 98% of state-of-the-art with a model 127× smaller (71M params), trained for $0 on free T4s in 8.4 hours.

log loss 1.052 → 0.987 · accuracy +3.5pts

what I learned: swap augmentation bought more accuracy than a bigger model would have.

status: under review

ProbCLIP-A: Uncertainty-Aware Retrieval

Probabilistic adapters for frozen CLIP vision foundation models

knows when it's unsure

flip →

the short version

Makes CLIP say how sure it is: a 4.2M-param adapter on frozen CLIP outputs distributions, Monte Carlo sampling turns them into uncertainty scores that catch 36.6% of failures at 8.1% false alarms.

R@1 68.9% · ECE 0.062 (best of all baselines)

what I learned: skip KL warmup and the variance collapses to zero.

// the short version

What I bring on day one

✓ models that ship

Notebook → Dockerized FastAPI service → drift monitoring. Already done end to end for the IPL pipeline: three services, PSI checks every five minutes.

✓ RAG from scratch

Retrieval, chunking, and evaluation written by hand and stress-tested, with the failure analysis published in the repo.

✓ research rigor on a budget

Two first-author papers trained entirely on free-tier GPUs. Both repos document what didn't work along the way.

✓ the whole product

If the model needs an app around it, I build that too, in Swift, Flutter, or on the web.

// git log --journey

Commit history

a1f2021Oct 2021init: B.Tech Computer Engineering @ SAL College of Engineering
b3c4d552023feat: Python + OpenCV, first computer vision experiments
c7e8f012024feat: AirSwipe, gesture control, first real users
d9a0b12Apr 2025release: B.Tech complete 🎓
e2c3d442025feat: two research papers submitted, RAG systems, MLOps pipeline
f5e6a78Nov 2025checkout -b mtech: Data Science @ Ramaiah University of Applied Sciences
HEADnowtraining… ← you are here

// open a pull request

Get in touch

Looking for AI/ML internships and roles.

end of notebook, for now.

Welcome. I trained all night.