Skip to content

ScanPick Documentation

Warehouse wave-picking system — .NET 10 API, React 19 dashboard, Expo/RN mobile scanner.

ScanPick is a warehouse wave-picking system designed for small-to-medium warehouses that want to digitize their picking operations without a multi-year ERP migration.

Wave picking groups multiple customer orders into a single wave that a worker picks in one run. Instead of walking the warehouse for each individual order, the worker picks all items for all orders in the wave at once, then items are sorted and packed by order at a downstream station.

  • Wave management — Create, assign, and track picking waves through their lifecycle
  • Consolidated pick tasks — Items are grouped by product across all orders in a wave
  • Optimized pick paths — Alphanumeric aisle/rack/shelf sort minimizes walking distance
  • Real-time updates — SignalR pushes progress from mobile scanner to the web dashboard instantly
  • Offline resilience — Scans queue locally when connectivity drops, drain automatically on reconnect
  • PIN-based auth — Simple worker authentication for warehouse-floor ergonomics
┌─────────────────┐ ┌──────────────────┐
│ Mobile (Expo) │ │ Web Dashboard │
│ RN 0.83 │ │ React 19 + Vite │
│ Scan & pick │ │ Wave management │
└────────┬────────┘ └────────┬─────────┘
│ │
└──────────┬────────────┘
│ HTTP REST + SignalR
┌──────────────────────────────────────┐
│ ScanPick.Api (.NET 10, Minimal API)│
│ ┌───────────┐ ┌──────────┐ │
│ │ Endpoints │ │ SignalR │ │
│ │ (/api/*) │ │ (/pickhub)│ │
│ └─────┬─────┘ └────┬─────┘ │
│ │ │ │
│ ┌─────┴─────────────┴──────┐ │
│ │ DI Services │ │
│ └───────────┬──────────────┘ │
└──────────────┼───────────────────────┘
│ EF Core
┌────────────────────────┐
│ PostgreSQL 16 │
└────────────────────────┘
LayerTechnology
Backend.NET 10, EF Core 10, Npgsql 10, SignalR
Web DashboardReact 19, Vite, Tailwind CSS v4, TypeScript
Mobile ScannerExpo SDK 55 (React Native 0.83), TypeScript
DatabasePostgreSQL 16
AuthenticationPIN-based JWT (24-48h, no refresh tokens v1)
TestingxUnit, WebApplicationFactory

ScanPick supports two deployment models:

  • Single binary — Self-contained executable with embedded web dashboard (Linux/macOS/Windows)
  • Docker Compose — Full stack with PostgreSQL, API, and nginx reverse proxy

No cloud dependency. No phone-home telemetry. Your data stays on your network.