Skip to content

FAQ

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:

Terminal window
git clone https://github.com/timDeHof/scanpick.git
cd scanpick
cp .env.example .env
docker compose up --build

Open http://localhost and log in with worker-001 / 1234.

Q: What are the system requirements?

A:

ComponentMinimum
Server2 CPU cores, 4 GB RAM
Disk10 GB for the database
OSLinux (preferred), macOS, Windows
DatabasePostgreSQL 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:

Terminal window
pg_dump -U scanpick scanpick > scanpick-backup-$(date +%Y%m%d).sql

Set up periodic backups via cron or your infrastructure’s backup service.

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.

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 [email protected] for refund inquiries.

Q: What versions does ScanPick use?

A:

ComponentVersion
.NET10 LTS
ASP.NET Core10
EF Core10
PostgreSQL16
React19
Expo / React NativeSDK 55 / RN 0.83
SignalR10
Tailwind CSS4

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.