All work
Personal project · for a friend2025
stockpe
Inventory + billing MVP for a friend's electronics shop — barcode scan, CSV import, simple bills. Replaces Excel + WhatsApp.
Next.js 16React 19Tailwindshadcn/uiSupabasehtml5-qrcodeVercel
Context
Built for a friend who runs a small electronics shop in India. He was tracking inventory in Excel and quoting prices over WhatsApp — stockpe replaces both with a phone-first PWA that scans barcodes, manages stock, and prints simple bills.
Designed as a minimum-viable replacement for a notebook, not an enterprise ERP. Simplicity over features, real usage over assumptions.
What I built
- Multi-tenant Supabase schema — businesses, user/business membership with admin/staff roles, products with barcode SKUs, bills with line items.
- Phone-first product entry with `html5-qrcode` barcode scanning, CSV import via `papaparse` for bootstrapping the catalogue from spreadsheets.
- Billing flow with browser-native printing (`window.print`) so it works on any phone or printer the shop already has, no integration needed.
- Auth via Supabase email/password + Google sign-in, RLS-enforced multi-business isolation.
- shadcn/ui on Tailwind for the surface, react-hook-form + Zod for validation, TanStack Query for client cache.