SaaS / ERP / PWA · 2025
SmartBiz ERP
SmartBiz ERP is a business operations platform built for small and medium enterprises that work in environments where connectivity is unreliable. It combines pricing, inventory, sales and customer management behind a single, fast interface that keeps working when the network does not.
- React
- TypeScript
- TanStack
- Tailwind CSS
- Zustand
- Supabase
- PostgreSQL
- PWA

The problem
Small businesses often rely on paper records or spreadsheets that break down as soon as operations grow, and most ERP tools assume a permanent internet connection.
The solution
A local-first architecture that treats the device as the source of truth during a session and reconciles with PostgreSQL through Supabase once connectivity returns, wrapped in an interface simple enough for non-technical staff.
Architecture
- React + TypeScript client with TanStack Router and Query
- Zustand stores for local session state and optimistic writes
- Supabase (PostgreSQL) with row level security for multi-tenant data
- Service worker cache and queue for offline mutations
Key features
- Offline-first data layer with background synchronisation
- Inventory and stock movement tracking
- Pricing rules and margin calculation
- Sales recording with customer history
- Role-based access for owners and staff
- Installable progressive web app
Process
- Mapped core business workflows before writing code
- Modelled the database around products, stock, sales and customers
- Built the offline queue and conflict handling early
- Iterated on the UI with real operational scenarios
Challenges
- Designing conflict resolution for records edited while offline
- Keeping the bundle small enough for low-end devices
- Enforcing tenant isolation without slowing down queries
Outcome
- Core workflows remain usable with no connection
- A single data model powers pricing, inventory and sales
Have an idea? Let's build it.
Whether you're building a product, solving a business problem, or looking for an engineer to bring an idea to life, I'd love to hear about it.
Start a conversation