Inspiration

My uncle runs a kirana (neighborhood grocery) shop. During customer rushes he scribbles sales on a paper notepad, then spends late evenings after closing typing them into Excel. Often he only finds out an item is finished when a customer asks for it. I wanted a tool that works at counter speed and replaces the notepad.

What it does

Sopko is a mobile-first stock and sales tracker for small shops.

  • Stock out: tap an item, set the quantity, tap Sell. Stock drops immediately and today's total updates.
  • Oversell protection: the quantity can't go above what's in stock, and the app says "Only N left in stock".
  • Stock in: log arriving goods with quantity and cost, or add a brand-new item.
  • Low-stock and out-of-stock badges show what needs restocking at a glance.
  • One-tap CSV exports (sales, stock in, current stock) open cleanly in Excel or Google Sheets and double as a backup.
  • A sample data button loads a realistic kirana inventory for a quick demo.

It works with no server and no login. Data stays in the browser.

How we built it

I built it with the Devpost Learn skill pack in Antigravity. Instead of asking for code first, I let the AI interview me and produced scope.md, prd.md and spec.md before any code was written. The app uses React and Vite, a single storage module that keeps all data in local Storage, and custom CSS design tokens for the look. I built it in four working slices and tested each one in the browser before moving on.

Challenges we ran into

  • Setting up Node and PowerShell on a new Windows laptop (PATH and script-policy errors) took longer than expected.
  • Making the sell sheet stop at the available stock and explain why.
  • Fixing layout overflow on small phone screens (320 to 360px).

Accomplishments that we're proud of

  • A complete working loop in a few days: receive goods, sell items, see low-stock warnings, and export the data.
  • Keeping the scope small on purpose. I cut logins, a backend and barcode scanning so the core could be finished and tested.
  • Designing for a real person at a busy counter: big tap targets, clear status badges and one-handed use.

What we learned

Planning first changed what I built. Deciding what to cut kept the first version small enough to finish. I also learned to check each slice myself in the browser instead of trusting the output, which is how I caught layout and wording problems early.

What's next for Sopko

Voice input with a confirmation step so a shopkeeper can say "Maggi 2" instead of tapping, a 7-day sales chart, and top-seller and slow-moving item alerts.

Built With

Share this project:

Updates

Submission history