Project · L01 Data
StockFlow
Inventory where the database is the single source of truth — every stock change is atomic, audited and broadcast in real time.
- Role
- Full-stack developer
- Period
- Jul 2026 — present
- Stack
-
- NestJS
- Prisma
- PostgreSQL
- Expo
- React Native
- Socket.IO
- JWT / Passport
- bcrypt
Context
Inventory errors come from race conditions and untracked edits. StockFlow is built around one rule: stock levels never change without an audit-log entry written in the same transaction.
What I built
- A NestJS backend with Prisma and PostgreSQL.
- Atomic mutations. Increases, decreases and transfers run in isolated transactions, each producing an audit-log entry linked to the acting user.
- Security: JWT and Passport authentication, bcrypt password hashing and three roles — admin, manager and staff — enforced across endpoints and the UI.
- Real-time activity over Socket.IO, plus activity notifications that show who changed what, where and by how much.
- An Expo / React Native app (Expo Router, Zustand, Reanimated) with swipe navigation and memoised lists designed for 1,000+ items.
- Ready to run: Android builds through Expo EAS and a public health-check endpoint (
/api/v1/health) for deployment monitoring.
Engineering notes
- Single source of truth. The client only reflects server state; it never computes stock itself.
- Auditable by construction. Because the log is written inside the same transaction, there is no code path that changes stock silently.
Status
In active development since July 2026, under the working name “Supply Changer”.