Voice Inventory
Warehouse inventory you run by talking: stock checks, movements and counts, hands-free.
Private client project. The code and screens are not public.
Overview
An AI voice assistant for a warehouse. Operators ask for stock, register goods in and out, and locate items without putting down what they are carrying. Built for a company as a private, internal tool.
The problem
In a warehouse, hands are busy. Checking stock meant walking to a terminal or pulling out a scanner, and goods often got moved first and logged later, or not at all. The inventory drifted away from what was actually on the shelves.
The goal was simple: let operators ask and update the inventory out loud, in their own words, wherever they are standing.
How it works
A custom Alexa skill captures the whole sentence in a free-text slot instead of forcing fixed phrases. A Lambda function sends it, together with the operator and the session context, to a language model with function calling. The model can only answer by choosing one of a small set of typed actions: stock.lookup, stock.move, stock.receive, stock.dispatch, stock.count and item.locate.
Those actions call the company's inventory API, which stays the single source of truth. The model never writes to the database directly. It translates speech into an action the API validates like any other request.
Making voice safe
- Read freely, confirm writes. Lookups answer straight away. Anything that changes stock is read back with the quantity and both locations, and only runs after a spoken “yes”.
- Ask instead of guessing. If a product name matches more than one item, the assistant asks which one and lists the candidates.
- Context between turns. “Move 50 of those” works because the last item and location stay in the session.
- Every action is logged with who said it, the original sentence and the resulting change, so any count can be traced.
- Fast enough for Alexa. Alexa cuts a skill off after about eight seconds. Prompts are kept short, the inventory call runs with a time budget, and slow operations reply with an interim message.
Outcome
Operators could check and move stock without stopping what they were doing, and movements were logged when they happened instead of at the end of the shift. The same pattern, where the model only picks from typed actions that the existing system validates, is what I use for every AI automation I build.
A Discord bot that turns plain requests into real server changes, by chat, by voice or from an AI coding agent.