1
0 Comments

What changed in my Shopify inventory app in 6 weeks — driven entirely by one paying customer

Six weeks ago I posted here about launching EZStock — a simple Stocky replacement for Shopify merchants (Stocky shuts down August 31). Back then it did inventory tracking, suppliers, reorder points, PDF purchase orders, and basic demand forecasting. I even wrote in that post: "No barcode scanning. No warehouse management."

It does barcode scanning now. Here's what changed and why.

The short version: one merchant built my roadmap for me.

I have a real paying merchant — a body jewelry store running ~5,000 variants. He emails me when something's slow or missing. Instead of guessing what to build next, I just built what he asked for. Every feature below traces back to a real message from a real user.

What I added since launch

  • Barcode scanning — the thing I said it wouldn't do. Keyboard-wedge scanners plus native camera scanning on the Shopify mobile app, across three places: counting stock, building a PO, and receiving a PO. Match by barcode first, fall back to SKU.

  • ABC product grading — auto-classifies your products A/B/C by sales value so you know which SKUs actually matter.

  • Stock On Hand report — inventory value, margins, markup, low-stock and out-of-stock flags, CSV export. One-click "Order" button on anything running low.

  • Editable costs on purchase orders — my merchant asked to fix prices right on the PO before sending, because supplier costs drift. Small ask, real workflow.

  • Payment & invoice tracking — mark POs paid, track what's owed, overdue alerts.

  • Full stocktake workflow — count inventory with live discrepancy tracking, then sync the corrections straight back to Shopify.

What I spent most of my time on (that nobody sees)

Honestly? Not features. Reliability.

At ~5,000 variants, the naive version of this app was making ~184 API calls to Shopify on every page load. It was slow, it was expensive, and a couple of times it broke for my one merchant — which when you have one paying customer is 100% of your customers.

I rebuilt the data layer to cache inventory and update it through webhooks instead of re-fetching everything live. Pages that took 14 seconds now load near-instantly. I also found and killed a billing bug where a merchant could subscribe, get sent to the dashboard, and briefly still see all the paid features locked — long enough to think it didn't work and cancel. That one hurt to find.

What I learned

I launched with a feature list I thought merchants wanted. Six weeks of one engaged user telling me what he actually needed produced a better roadmap than any amount of my own guessing. The unglamorous stuff — speed, not breaking, fixing the bug that quietly loses you a customer — turned out to matter more than any new feature.

Still grinding on the cold-start problem (App Store reviews are the wall). But the product is genuinely better than the one I launched, and I can point to exactly why.

Stocky shuts down August 31. If you're a Shopify merchant still on it — https://apps.shopify.com/ezstock

Vladislav Gerasimchuk

posted toAvatar for product EZstock ‑ Inventory & Orders
EZstock ‑ Inventory & Orders