Inspiration
After a move, "Where is my charger?" can mean two different objects in two different boxes. A helpful assistant should remember the recorded location, ask which object the user means, and recover when a packing decision changes.
PackBack explores that small, persistent household workflow through an independent Alexa+ experience simulation. The intended audience is someone packing and unpacking a small move. The need is a design hypothesis; no household interviews or measured time-saving claims are presented.
What it does
Ask a natural-language question about a recorded item, pack a new item, move an item, open or seal a box, or undo the last change. PackBack separates the model's proposed action from the saved inventory:
- An ambiguous "charger" returns the two recorded chargers for clarification.
- A specific item is located from SQLite records, not from a model-generated guess.
- Each write shows a review step before confirmation.
- Confirmed changes survive a page reload and application restart.
- Undo restores the previous inventory snapshot; repeated requests cannot duplicate a write.
- Missing items receive an explicit "not recorded" response.
The demo starts with three boxes and twenty synthetic items. It shows adding a red mug, reloading and locating it, undoing that change, and declining to invent a passport's location.
How it was built
An already installed Ollama gemma4:e4b-it-qat model interprets English requests through a real local /api/generate call with a JSON schema. Python validates an allowlisted tool, resolves saved objects, and prepares a confirmation token tied to the inventory revision. SQLite transactions, request IDs, and before-change snapshots implement persistence, retry safety, and undo. A vanilla HTML/CSS/JavaScript interface shows the conversation, saved boxes, recent changes, and actual model trace.
The Python app uses only the standard library and binds to loopback. It can be run from the public MIT-licensed repository. Existing compatible Ollama model weights are required for natural-language inference; model weights are not redistributed. An explicitly labelled command mode tests the storage layer if the model is unavailable.
This follows the official Alexa+ alternate simulation path. It is a text-based simulated experience with a real local AI runtime. It is not connected to Alexa, an Echo device, Amazon SDKs, AWS, or an Amazon account.
Challenges and technical decisions
The central problem was preventing a plausible language-model interpretation from becoming an unreviewed inventory change. The model therefore cannot execute arbitrary code or write the database. The tool layer rejects unknown boxes, ambiguous moves, sealed-box changes, reused tokens, and stale confirmations. An independent revision check prevents an old preview from overwriting newer decisions.
Another decision was to keep the prototype locally runnable without a cloud subscription. This makes the boundary between generated intent and recorded state inspectable, while leaving device integration and voice interaction for a later stage.
What was verified
The project passed 26 deterministic tool/database tests and 12 isolated HTTP checks. Nine selected synthetic natural-language cases returned the expected tool and planner response through the actual local model. These are development checks, not a broad model-accuracy benchmark. The browser demo separately verified ambiguity, exact lookup, confirmation, persistence after reload, undo, and missing-item handling.
The English video is an edited sequence of actual browser-state screenshots, not a continuous real-time recording. Each state was captured from the working app; the displayed model trace is from an actual call. Scene lengths in the edited video do not represent inference latency.
What's next
Test the workflow with people during a real move, then address repeated identical items, pronouns, compound requests, and speech. A real Alexa+ integration would need separate authentication, permissions, deployment, and device testing. No user-impact results or completed device integration are claimed.
AI assistance
OpenAI Codex generated the new implementation, synthetic data, tests, design, and documentation for this project and operated the technical checks and browser capture. The separate local Ollama model interprets requests at runtime. No personal inventory, private address, third-party graphics or music, paid API, or prior competition source was included.
Log in or sign up for Devpost to join the conversation.