About this project
Overview
Nachi3D Certify pairs each figurine I sell with an NTAG215 NFC chip embedded in its base. A customer taps their phone on the chip and lands on a verification page showing the piece's number, photos, edition size, sculpt and paint dates, and ownership chain. The page is publicly accessible — no app to install — and proves the figurine came from my workshop, not a reseller or counterfeiter.
Built on Next.js 15 with App Router, TypeScript strict mode, and Tailwind v4, hosted on Vercel with Supabase as the Postgres + Auth + Storage backend. HMAC-SHA256 tokens prevent URL forgery: every verification URL contains a 24-character signature computed server-side, so editing the chip's UID by even one character lands the visitor on a tamper page. Trilingual EN/FR/AR with full RTL.
The real reason: I was making original figurines and watching cheap unauthorized reprints appear online before I'd even finished a series. I wanted a way to say 'this one is real' that survived photos, copies, and bad-faith resale.
Key features
What it does
Built with
The Stack
What I'd do differently
In hindsight
I'd separate test and production Supabase projects from day one — sharing one project caused a near data-loss bug where e2e seed pruned real pieces. I'd also build the public auth header in Phase 1 instead of grafting it on after admin-only login was shipped.
Want something like this built for you?
Tell me what you'd like to build and we'll see if it fits.