I don't code. Before this week I'd never opened a terminal, never used GitHub, never deployed anything. But I kept running into the same problem with small businesses I know: if you sell on Shopify AND in a physical store (or another online channel), your stock counts constantly get out of sync. Someone buys the last item in-store, but the website still shows it in stock — refund, apology, repeat.
So I built a tool for it. Inventory Sync connects to a Shopify store, pulls in products and stock levels, and shows everything in one dashboard. 14-day free trial, no card required, then R29/month (~$1.60 USD) after that.
What it actually took to ship:
Node.js + Express backend
Postgres database (Neon, free tier)
Shopify OAuth so any merchant can connect their own store
PayFast for payments (I'm in South Africa — Stripe doesn't support SA merchants directly)
Deployed on Render's free tier
Being fully honest about where it's at:
It's not the first tool in this space — there are bigger, more established players. My bet is being simpler and cheaper for very small sellers who find those tools like overkill.
Right now it auto-syncs from Shopify, but other channels (in-store, Etsy, etc.) are tracked manually, not two-way synced yet.
Zero paying customers so far — I'm just starting outreach today, literally sending Instagram DMs to small shop owners.
Link if you want to see it: https://inventory-sync-starter.onrender.com
Genuinely just looking for honest feedback at this stage — if you've dealt with multi-channel inventory problems, or if you can immediately spot something dumb about the approach, I'd rather hear it now. And if anyone here runs a Shopify store themselves, happy to set you up with a free trial and would love to know if it's actually useful or not.
I wonder if the real challenge isn't inventory synchronization—it's timing.
Most merchants only start looking for a solution after stock mismatches become expensive. That means the buying trigger is operational pain, not the technology itself. Understanding that moment may matter more than adding the next integration.