FAQ
General
Section titled “General”Q: What is ScanPick?
A: ScanPick is a warehouse wave-picking system that digitizes paper-based picking operations. It consists of a .NET 10 API, a React 19 web dashboard for supervisors, and an Expo/React Native mobile app for floor pickers.
Q: Who is ScanPick for?
A: Small-to-medium warehouses with 5–100 workers who want to improve picking efficiency without a multi-year ERP migration. ScanPick is designed to be deployed in a day, not a month.
Q: Does ScanPick require internet access?
A: No. ScanPick is self-hosted on your own infrastructure. The API and database run on your network. Mobile devices connect via your local WiFi. The only external contact is license validation against the Keygen API.
Q: Can I try it before buying?
A: Yes. The full stack runs locally with Docker:
git clone https://github.com/timDeHof/scanpick.gitcd scanpickcp .env.example .envdocker compose up --buildOpen http://localhost and log in with worker-001 / 1234.
Deployment
Section titled “Deployment”Q: What are the system requirements?
A:
| Component | Minimum |
|---|---|
| Server | 2 CPU cores, 4 GB RAM |
| Disk | 10 GB for the database |
| OS | Linux (preferred), macOS, Windows |
| Database | PostgreSQL 16 |
For evaluation, the Docker Compose stack runs on any modern laptop.
Q: Can I use a different database?
A: No. ScanPick uses PostgreSQL 16 with EF Core + Npgsql features that are specific to PostgreSQL.
Q: Do I need a reverse proxy?
A: Recommended for production. Use nginx, Caddy, or Traefik for:
- TLS/SSL termination
- Rate limiting
- Request logging
Q: How do I back up my data?
A: Standard PostgreSQL backup:
pg_dump -U scanpick scanpick > scanpick-backup-$(date +%Y%m%d).sqlSet up periodic backups via cron or your infrastructure’s backup service.
Operations
Section titled “Operations”Q: How do workers authenticate?
A: Each worker has a unique Worker ID and PIN. The PIN is stored as a BCrypt hash in the database. Workers log in on the mobile app or web dashboard with their Worker ID and PIN.
Q: What happens if a worker scans the wrong barcode?
A: The mobile app validates the scanned barcode against the expected product before queuing the scan. On mismatch, the app shows a red “Expected X” message and requires the correct scan.
Q: Does ScanPick work offline?
A: Yes. The mobile app queues scans in local storage when the API is unreachable. The queue drains automatically when connectivity returns. Server-side deduplication prevents duplicate scans.
Q: Can I customize the pick path optimization?
A: The current version (v1) sorts pick tasks alphanumerically by aisle → rack → shelf. Future versions will support coordinate-based path optimization.
Licensing
Section titled “Licensing”Q: How much does ScanPick cost?
A: See the Licensing page for current pricing.
Q: What happens if I don’t renew?
A: You have a 14-day grace period after license expiry. After that, the API stops serving requests. Your data remains in your database and is unaffected.
Q: Can I get a refund?
A: Contact contact@scanpick.cc for refund inquiries.
Technical
Section titled “Technical”Q: What versions does ScanPick use?
A:
| Component | Version |
|---|---|
| .NET | 10 LTS |
| ASP.NET Core | 10 |
| EF Core | 10 |
| PostgreSQL | 16 |
| React | 19 |
| Expo / React Native | SDK 55 / RN 0.83 |
| SignalR | 10 |
| Tailwind CSS | 4 |
Q: How is the API documented?
A: The API is self-documenting in development mode. The API reference page covers all available operations.
Q: How do I report a bug?
A: Open an issue on the GitHub repository.
Q: How do I request a feature?
A: Same as bug reports — open a GitHub issue with the “feature request” label.