DEV Community

Cover image for I built an open-source WMS because every warehouse management system costs $2,000/month
Michael Hightower
Michael Hightower

Posted on

I built an open-source WMS because every warehouse management system costs $2,000/month

Every WMS on the market is either a six-figure enterprise implementation, a $500-3,000/month SaaS with workflows you can't change, or an ERP bolt-on that was never designed for a warehouse floor. There has never been a credible open-source alternative built for e-commerce fulfillment. Today that changes.

I'm a warehouse manager at an e-commerce company. 8,000 orders/month, 5 scanning stations, and I function as the entire technology department. I needed a WMS that didn't force my team into someone else's workflow. Nothing existed that fit, so I built one.

What Sentry WMS does

Full warehouse lifecycle, all scan-driven:

  • Receiving : scan PO, scan items, track quantity, complete
  • Put-Away : scrollable list, scan any item in any order, scan destination bin
  • Pick Walk : item counter, next preview, optimized path
  • Pack Verification : scan SO, scan items to verify, confirmed rows
  • Shipping : carrier picker, tracking entry, completion
  • Cycle Count : blind/non-blind, pending records, admin per-bin approve/reject
  • Bin-to-Bin Transfer
  • Admin Panel : inventory, items, POs, SOs, users, warehouses, settings, import, audit log

Stack

  • Python/Flask API with parameterized SQL and service layer
  • React 18 + Vite admin panel
  • React Native (Expo) mobile app with broadcast intent scanner support
  • PostgreSQL 16
  • Docker Compose (one command to run the entire stack)

Security

I ran two independent security audits using Claude Opus and Sonnet in separate sessions. Opus identified vulnerabilities that were low-risk independently but dangerous once chained together. 18 vulnerabilities found and fixed total.

Parameterized SQL on every query, warehouse authorization middleware on all endpoints, random admin password on first run, live DB validation on every authenticated request, login lockout, non-root container with gunicorn, security headers, and CORS restricted to configured origins.

Hardware testing

This wasn't built in a browser. I test on a Chainway C6000 industrial barcode scanner running Android 10. The mobile app uses broadcast intents (com.chainway.sdk.barcode.BARCODE_DECODING_DATA), not keyboard wedge, not camera scan. Real warehouse hardware.

The standalone APK is attached to the GitHub release.

Get running in one command

git clone https://github.com/hightower-systems/sentry-wms.git
cd sentry-wms
docker compose up -d
Enter fullscreen mode Exit fullscreen mode

Admin panel at http://localhost:3000. Admin password is randomly generated on first run, check docker compose logs for credentials. Demo data included so you can explore immediately.

For production (no demo data):

SKIP_SEED=true docker compose up -d
Enter fullscreen mode Exit fullscreen mode

What's next

  • v1.1: Input validation schemas, Redis rate limiting, error boundaries, MkDocs documentation site
  • v2.0: ERP connector framework; NetSuite, Shopify, BigCommerce
  • Sentry Cloud: Hosted SaaS for teams that don't want to self-host

Sentry is the warehouse execution layer. Your ERP stays the system of record.

Numbers

  • 288 automated tests passing in ~28 seconds
  • 4,000+ lines of Python
  • Two full security audits
  • MIT licensed
  • Free forever

GitHub: https://github.com/hightower-systems/sentry-wms

Demo videos: v1.0.0 Release Page

If you run a warehouse, manage inventory, or just want to poke at the code, I'd love feedback. Star it, fork it, break it.

Top comments (0)