Every stream, one place
Activity, Containers, Inventory, Orders, Pick/Put, QA/QC, Scan, Scale, Dimension, Waves, Replenishment — each in its own tab. Every row carries its source (scanner, conveyor, PLC, scale, operator, sorter…), its type, a message, and a timestamp, color-badged so the eye lands on what matters.
Search, filter, expand
Full-text search across messages, multi-select filters on source and type, and a date range for narrowing an incident window. Click any row to open a side panel with the full structured payload rendered as JSON — copy it, or arrow through neighboring entries without leaving the panel.
Logs become metrics for free
The same store that holds the lines aggregates them. Group container events by type, picks by operator or wall, QA/QC by pass versus fail, scans by scanner — no separate instrumentation, no second pipeline. Every event you log is already a metric you can chart.
Dashboards on your own events
Build widgets that bucket events over time — by hour, day, week, month, or year — and break them down top-ten by category. Time-series and breakdown render side by side, each with a last-updated stamp and a copyable view of the exact query behind it.
Find it, then trend it
Spot a single odd SCAN_IN in the log, then pivot to the trend for that window — the audit row and the chart are reading the same table. Point-in-time detail and big-picture pattern come from one source, so the numbers always reconcile.
Built for volume, audited by default
Backed by a columnar store built for billions of rows, so queries stay fast and retention is configurable. The activity stream captures every create, update, and delete with the user and source — UI, API, or AI — the same events the checkpoint timeline can roll back.