Trade catalogue and QR microsite
Mirosa Diamonds
A lab-grown diamond house's trade catalogue and QR microsite: 238 styles, KYC onboarding, and payments behind one code.
- Role
- Catalogue production, site design and build, KYC and payment flows.
- Client
- Mirosa Diamonds, New York
- Status
- Live
- Year
- 2026
Private client site. Previews show a sanitised copy with placeholder contact, payment, QR, and price details.

The problem
A wholesale lab-grown diamond house needed one place a trade buyer could reach from a QR code at a show. The catalogue existed only as a design filled with demo data, and onboarding a new buyer meant a paper KYC form.
What I did
Rebuilt the catalogue from the master stock spreadsheets, then designed and built the microsite the QR code opens: a page-flip catalogue, featured pieces, product pages, an online KYC form, and a payments page.
How it works
Static HTML, CSS, and JavaScript with no build step, plus one protected serverless function. The KYC form validates, previews, and generates a branded PDF that is emailed to the office through the company's own mail, behind bot protection, rate limits, and idempotent submission. The payments page shows verified details with verify-before-you-send guidance and a calculator for the 2% Venmo charge, and never collects banking credentials.
Captures

The hard parts
- 01
Turning nine spreadsheet tabs of real stock into 49 consistent catalogue pages, replacing every line of demo data.
- 02
Keeping the page-flip catalogue sharp on retina phones: the flip library was patched to draw at the device pixel ratio.
- 03
Accepting uploaded documents safely: files are validated in an isolated worker with a memory cap and a six-second deadline.
What changed
- One QR code now opens the full catalogue, featured pieces, KYC, payments, and directions.
- New buyers submit KYC online and the office receives a branded, printable PDF.
- 238 styles across 49 catalogue pages, rebuilt from real stock data.
Built with
- HTML
- CSS
- JavaScript
- Vercel Functions
- pdf-lib
- StPageFlip
