Scratcher — project screenshot

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.

By Aman Chandra H

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