A procurement & prototyping portal built for a hardware product studio — every part request from CAD upload to quoted, approved, ordered, delivered and QC’d hardware, on one timeline, with an audit trail engineered for regulated medical-device work.
Open the live demo ↗Getting one bracket printed touches a CAD file, three vendor emails, a quote PDF, an approval, a payment, a courier and an inspection form. Multiply by every part of every build.
Parts Portal replaces that sprawl with one system of record. An engineer drops CAD files into a request and specs each part from structured method/material dropdowns driven by what vendors can actually make. From that moment the part’s whole life — quoting, sign-off, purchase, shipping, customs, goods-in inspection, payment — happens on a single timeline everyone can see.
Nothing is ever deleted. Cancelled work is catalogued, not erased — every procurement attempt stays part of the audit record, because the studio builds regulated medical devices.
One timeline per request, from first click to paid invoice.
Status only ever moves forward. Each stage records who acted, when, and how long the request sat there; exceptions get flagged rather than worked around, and a design change after a vendor commitment forks a tracked revision instead of silently editing history.
The demo is the real system.
Same codebase, same database engine, same workflows as the production portal. The demo dataset is entirely fictional — invented clients, vendors, people, requests and CAD — generated over the real methods-and-materials catalogue the portal actually uses. The database resets every night.
The login page arrives pre-filled — press Sign In, or switch account with one click.
One React app, one FastAPI service. A ~13k-line frontend and ~9k-line backend, kept intentionally monolithic — the whole system fits in two files you can read.
SQLite as the primary store, behind a shim that emulates the Google Sheets API the tool started on — the migration to a real database happened without rewriting a single endpoint, and Sheets lives on as a one-way human-readable mirror.
Docker Compose on a VPS — three containers, nginx in front, nightly backups, and separate production, staging and demo instances of the same tree.
Compliance as a feature — login lockouts, session tokens, e-signature records and a hash-chained audit trail aligned with 21 CFR Part 11, built in rather than bolted on.