Pizza Box Inventory & Invoicing
The problem
A small operation needed to track inventory and generate invoices without juggling separate, disconnected tools.
What I built
A TypeScript web app on React 18 + Express + Prisma/PostgreSQL: a transactional stock ledger with before/after quantities and restore-on-delete, role-based access, a full audit log, rotating refresh tokens with a Redis denylist, and a read-only AI assistant over a live data snapshot.
The result
One platform for inventory and billing with CI green; one of three invoicing builds (with Asset Vault and InvoiceMe) exploring the same product across stacks. Portfolio build, not deployed.