Inventory system
DIMS
One diamond inventory and request system shared across three offices.
- Role
- Sole builder. Backend, frontend, and desktop app.
- Status
- In development
- Year
- 2026
Screens captured from DIMS running locally with fictional demo stock. The production system has been retired.
The problem
Sales reps in New York, Chicago, and Los Angeles were browsing separate, disconnected stock, so requests for the same stone could collide, and inventory staff had no single source of truth for what was in stock, on memo, on hold, or already requested.
What I did
Built the backend, frontend, and desktop app end to end, including the review-first request workflow and the document extraction pipeline.
How it works
One login system over combined loose-diamond and jewelry stock for all three offices, availability protection against duplicate requests, barcode and pasted-detail intake, and PDF and invoice extraction that always requires review before anything is sent.
Captures



The hard parts
- 01
Stopping two reps in different offices from requesting the same physical stone at the same moment.
- 02
Extracting stock details from pasted text and PDFs reliably enough to trust, while keeping a person in the loop before anything ships.
What changed
- Three offices share one inventory view, with duplicate requests blocked before they reach staff.
- The review-first request flow removes double booking entirely.
Built with
- Next.js
- Supabase
- TypeScript
- Electron