Inspiration
Fast fashion thrives on opacity, consumers have no idea where their clothes come from, what they're made of, or how to responsibly dispose of them. The EU's upcoming Digital Product Passport (ESPR) regulation demands transparency, but most brands have no tools to comply. We wanted to build something that makes supply chain transparency accessible to any brand, and verifiable by any consumer with a phone.
What it does
SourceProof is a digital product passport platform for fashion brands. Each product gets a unique QR code that consumers can scan to view:
- Authentication status — verified serial number and scan history
- Material sourcing — exact composition with organic/recycled badges, source countries, and certification verification (GOTS, OEKO-TEX, GRS)
- Supply chain journey — a visual timeline from raw material to retail, with locations and dates
- Fit intelligence — community-driven ratings and fit assessments so shoppers buy the right size
- Circularity data — carbon footprint, water usage, recyclable percentage, estimated resale value, and end-of-life recycling instructions
Brands get an admin dashboard to manage products, upload materials and supply chain data, and generate QR codes for physical labels.
How we built it
- Frontend: React 19 with Tailwind CSS, mobile-first design optimized for QR code scanning on phones
- Backend: Express.js 5 REST API with JWT authentication for the admin dashboard
- Database: SQLite for simplicity and portability, with a structured schema covering products, materials, supply chain steps, certifications, fit reviews, and scan analytics
- Deployment: Dockerized and deployed on Fly.io with a persistent volume for the database
- QR Codes: Server-side generation using the qrcode library, downloadable as PNGs
Challenges we ran into
- Deployment headaches — SQLite's native bindings needed specific glibc versions, causing crashes on Fly.io until we rebuilt from source with the right base image
- Express 5 breaking changes — wildcard route syntax changed from '*' to '*path', which only surfaced in production
- Balancing depth vs. scope — we wanted certification verification to feel real, so we built a mock verification service with realistic cert numbers rather than just showing static badges
Accomplishments that we're proud of
- A fully functional end-to-end product passport system — from admin product creation to consumer QR scan — built and deployed in a hackathon
- The consumer passport page feels polished and informative, not like a prototype
- Community-driven fit intelligence that actually aggregates and displays useful sizing data
- Real certification verification flow that validates cert numbers against known standards
What we learned
- How the EU Digital Product Passport regulation (ESPR) works and what data it requires
- The complexity of fashion supply chains — even a simple t-shirt touches 4+ countries
- SQLite is great for hackathons but needs careful handling in containerized deployments
- Mobile-first design matters when your primary interface is a QR code scan
What's next for SourceProof
- Blockchain anchoring — hash product passport data on-chain for tamper-proof verification
- Real certification APIs — integrate with GOTS, OEKO-TEX, and GRS databases for live validation
- Brand analytics dashboard — scan heatmaps, geographic insights, and consumer engagement metrics
- Multi-language support — product passports in the consumer's language
- NFC tag support — tap-to-verify alongside QR codes
- Resale marketplace integration — one-tap listing to secondhand platforms with pre-filled product data
Built With
- docker
- express.js
- fly.io
- pwa
- react
- sqlite
Log in or sign up for Devpost to join the conversation.