Project
Annual Inventory Lookup Tool
A find-it aid built from the annual inventory count
Once a year the store scans every item and records where it sat. For the rest of the year, the most common use of that count is finding things. A staff member is holding a misplaced item, or standing at an empty shelf, and wants to know where it was counted and whether sales since then explain where it is now. This tool answers that in one search.
At a glance
- Role
- Designed and built solo
- History
- A spreadsheet searched with Ctrl+F, then a search bar the next year, then this app, refined over three annual counts
- Stack
- Next.js, Postgres, the Shopify Admin API and Polaris, on Vercel
- Used by
- Store staff, often on the floor with an item in hand
- Shopify access
- Read-only. Count data never leaves the app
01What it does
Search by SKU, barcode, title or zone name. Each item shows three things side by side: how many were scanned and in which zones, how many have sold since the count, and how many Shopify shows on hand now. From those, staff judge which locations are worth checking.
- Every zone, with counts. About one item in five was scanned in more than one zone, and one was found in 32. That split is the strongest sign a copy has been moved, so every zone and its count stays visible instead of being collapsed to one location.
- What it sat next to. Scan order is shelf order. Expanding a zone shows the scans on either side of each copy, so a stray copy comes with the titles it was shelved between.
- Search by zone. Typing a zone name lists everything counted there, for the question "what should be on this shelf?"
- Shopify's own history. Each item carries its adjustment history from Shopify, with the reason, app and staff member behind each change.
02How it's built
The count is frozen: uploaded once and never edited. Everything since the count stays live. Shopify pushes sales, returns and stock changes to the app as they happen, and a daily job fills any gap the push missed. When stock is received in ReStocky, it posts the receipt straight into the log.
The scanner leaderboard came from the same raw scan log. It shows who counted what, how fast, and across how many zones.
03What I left out
It deliberately does no reconciliation. An earlier version compared expected stock against on-hand and flagged discrepancies. On the floor that proved more confusing than useful, so it was removed. The tool shows the facts and leaves the judgement to the person holding the item.
The home screen and leaderboard show the store's real 2026 count, with staff names changed. The item screen shows the tool running on demo data.