A web app for classifying old charts and figures. Assign Vis / Map / Text / Table labels (and confidence), filter the catalog, and move through entries quickly. Work stays in your browser — no server database needed.
- Classification pairs: Vis / Not Vis, Map / Not Map, Text / Not Text, Table / Not Table, plus Unsure / Confident
- Keyboard shortcuts:
1–0for labels,A/Dfor previous / next - Selectors: filter Unlabeled / Labeled / Unsure and search metadata
- Saved locally: download or upload
annotations.jsonto keep or restore work - Progress: labeled / unlabeled / unsure / confident counts, with per-category Details
Selectors, image, metadata, label buttons, and progress sit in one screen.
Open the hosted app:
https://oldvis.github.io/image-classification-labeler/
pnpm install
pnpm dev- Open the app (sample visualizations load automatically).
- Optionally set your name in the nav (labels still work without it).
- Click a category button (or press
1–0) to label the current entry. - Press Next (
D) or Go to First Unlabeled to continue. - Download your annotations as JSON, or upload a JSON file to restore work.
| Command | Description |
|---|---|
pnpm install |
Install dependencies |
pnpm dev |
Start the local app (http://localhost:3333) |
pnpm build |
Build for production (GitHub Pages base path) |
pnpm lint |
Run ESLint |
pnpm typecheck |
Check TypeScript types |
pnpm test |
Run unit tests |
pnpm test:e2e |
Run end-to-end tests |
pnpm docs:screenshot |
Update docs/images/screenshot.png for this README |
You will need:
Dataset JSON lives under src/assets/ (visualizations.json, annotations.json). The production deploy copies dist/index.html to dist/404.html for SPA deep links on GitHub Pages.
See CONTRIBUTING.md for contribution notes.
This project started from the vitesse-lite template.
