Pari Designs
ShippedA marketplace for jersey design files. Browse, pay, and the download link is in your inbox before you've closed the tab.
- Stack
- Next.js · Supabase
- Payments
- Razorpay (live)
- Catalog
- 61 designs
- Year
- 2026
Problem
The jersey shops I already sell software to buy their artwork the same way they used to do their production: over WhatsApp, one file at a time, chasing whoever drew it. There was no shopfront, just a designer with a folder and a phone.
Solution
A real store. Customers browse designs and bundles, pay through Razorpay, and get a tokenised, expiring download link by email. No account, no waiting, no one manually sending a file at 11pm. The admin side lets the designer publish new work without touching a line of code.
Architecture
Next.js on Vercel, Supabase for the catalog and the file storage, Razorpay for payments, Resend for delivery. The money path is the part that has to be right, so it's the part that's verified end to end: payment → webhook → order marked paid → download token issued → email delivered.
Challenges
Everything about a payment flow is fine until real money touches it. The webhook is the whole system: if it doesn't fire, the customer has paid and has nothing. I tested it with a live payment on live keys rather than trusting the sandbox, and watched the order flip to paid and the email land.
Lessons learned
Building the store was the easy half. The hard half is the one I don't control: it isn't announced yet, because the catalog is still being filled. A finished thing that hasn't been sent to anyone is not finished.
Outcome
Live on live Razorpay keys with a verified end-to-end purchase, the only product I've built where money has actually moved. Built for and run by Pari Designs.