Inspiration
A delivery notice tells a workshop that a parcel arrived. The useful question begins when someone opens it: which order does it belong to, how many pieces are inside, and what still needs to come? Split shipments, shortages, returns, and replacements make that story hard to reconstruct from a delivered badge. LedgerDock grew from the receiving desk, where the expectation and the physical count need to stay connected as the account changes.
What it does
LedgerDock is a browser-local receiving workbench for expected orders, split shipments, parcel arrivals, opened contents, shortages, returns, and corrections. Its local Simulated Alexa+ assistant can answer about the selected order, inspect the saved arrival and count evidence, preview a physical recount, and prepare the current order brief. A recount changes the real workbench only after the person reviews the before-and-after quantities and confirms that the new number was physically checked. The same event history remains available in the ordinary receiving screen.
How we built it
A small Node.js server serves the JavaScript workbench, whose versioned local events produce the current receiving projections. We added a bounded deterministic text planner over tools for receiving status, source inspection, count-correction preview, confirmed correction, and order-brief preparation. Confirmation calls the existing reviewed parcel.checked action. Preview identity and current order state are checked again before a write, and the assistant retires stale replies or exports when the underlying record changes. Recorded Ring-format input remains a development path; the demonstrated assistant uses a labeled fictional arrival.
Challenges
A receiving total can change after a preview opens, so confirming an old answer must not silently apply it to a newer order. We addressed queued-confirmation races, stale brief exports, and a form-control mismatch during review. The assistant also has to distinguish a sealed parcel from physically counted contents and preserve the earlier count when a later recount corrects it. Official Ring receiving remains unverified.
Accomplishments
In the received browser course, the workbench held an actual saved count of four CLAMP units. The assistant exposed its arrival and count sources, previewed a correction to six, and kept confirmation disabled until the physical-recount acknowledgment. Confirmation saved the real correction; a fresh answer and downloaded brief showed six checked and six CLAMP still waiting, while four GLOVE units remained waiting. Reload preserved both count events. The native suite passed 301 tests, including 18 assistant tests.
What we learned
A useful assistant needs to operate on the same reviewed state as the ordinary workbench. A convincing sentence is only a starting point: the person needs its source, the exact proposed change, and an opportunity to reject it. Retaining earlier physical checks makes a later correction understandable.
What's next
We want to extend the supported receiving questions, improve portable backup, and test the workflow across more realistic shipments. The local text assistant is a deterministic simulation; live Alexa, model-based interpretation, and authenticated Ring input each need their own integration and receiving evidence.
Built With
- agentic-tool-workflow
- css
- html
- javascript
- json
- node.js

Log in or sign up for Devpost to join the conversation.