
Project · ML + Full-Stack Engineering
Scratcher
A full-stack ML app that turns raw mouse-session video into quantified scratching data — one click from detect to publication-ready figures.
About the project
Built end to end at BarikLab, Centre for Neuroscience, IISc, under the supervision of Dr. Arnab Barik. Scratcher replaces hours of manual frame-by-frame scoring: it turns raw session video of a mouse into a per-second behaviour timeline, bout statistics, and 300-dpi publication figures.
Three coat-colour-specific YOLOv11 detectors (white / brown / black mice) — trained on a hand-verified Roboflow dataset and served through a local-first / Hugging Face Hub model registry — sit behind a FastAPI backend that runs the whole detect → temporal-filter → analyse → plot → report pipeline in one click, with an async job queue and polled progress. It exports multi-sheet Excel, CSV bundles, matplotlib/seaborn figures, and a bundled PDF report. Ships as a dependency-free vanilla-JS frontend, a Docker image for Render / Hugging Face Spaces, and a self-bootstrapping Windows launcher for non-technical lab users.
Built with
- FastAPI
- YOLOv11
- PyTorch
- Full-Stack