Online store for retail & D2C
Rangrez Supply
An online store for a garment-dyed streetwear label
Rangrez Supply is a sample brief. We imagined a family of dyers in Sanganer who started dyeing finished tees in lots of sixty, and asked ourselves what their store should feel like when every piece comes out a little different. The label is imaginary. The store isn't: we designed and engineered it, and you can shop it right now, below.
- IndustryRetail & D2C
- Year2026
- Runs onWeb
- DisciplineWebsites & web apps
- Built aroundRazorpay, UPI, RuPay, Shiprocket, WhatsApp Business API, GST invoicing, India Post pincode data

A sample brief, a real product. We wrote this brief ourselves. The business is imaginary; the product is not: we designed and engineered it, and you can use it below. We publish results only for work a client has let us verify, so this page shows none.
The brief
We imagined Rangrez Supply as a small unisex streetwear label run out of a dye house in Sanganer, Jaipur. Its tees and fleece are knitted and sewn plain in Tiruppur, then dyed as finished garments, sixty at a time, so the seams, rib and thread all take the colour and no two lots match exactly.
Its customers are college students and young professionals across Indian metros who buy in limited drops, compare fits closely, pay by UPI or cash on delivery, and expect updates on WhatsApp rather than email.
- Unisex fits from XS to XXL, priced ₹695 to ₹1,995
- Limited drops of sixty pieces per colour lot
- Ships from one dye house to every serviceable pincode
The problem
Stock Shopify themes sell a garment-dyed tee the same way they sell a printed one: a flat photo, a size dropdown and a generic cart. That hides the one thing that makes the product worth its price, and it leaves the anxious parts of Indian online shopping, fit, delivery dates, COD and exchanges, to a policy page nobody reads.
Drop-based labels also lose sales in the gaps: a sold-out size with no way to be told it is back, combos priced by hand in Instagram DMs, and exchanges handled over WhatsApp with screenshots.
- Colour variation reads as a defect unless it is explained
- Oversized and cropped fits cause most size exchanges
- COD availability and delivery dates vary by pincode
- Combos and drop alerts usually live outside the store
The approach
We made the dye itself the brand moment. The hero re-dyes a tee from the hem up when you pick a lot, the hang tag shows how many of the sixty are left, and every garment on the site is drawn in SVG with real garment-dye mottling, ribbed collars and stitched hems, so a colour change is honest rather than a recoloured photo.
Around that one moment we kept the store quiet and practical: fit notes and a size guide in inches or centimetres on every product, a pincode check that answers delivery date and COD before checkout, combos with a size per piece, a checkout built around phone OTP and UPI, and an exchange flow that books a pickup slot instead of asking for an email.
- One deep indigo ink, rani pink for drops and haldi for alerts, drawn from the dye names
- Unbounded for display and Schibsted Grotesk for everything you read
- Every product colour shown on a tint of its own dye
- WhatsApp used for drop alerts, order updates and exchanges, never as a pop-up
- GST shown the way an Indian invoice shows it
What shipped
- Re-dye the hero tee in any of five dye lots and watch the colour rise from the hem
- Browse 34 pieces drawn in SVG, each with front, back, detail and fabric views
- Filter by fit, dye, size and price, sort, and quick add from any grid
- Build a three-piece combo with a dye and size per piece
- Check delivery date and cash on delivery for any Indian pincode
- Check out with a phone OTP, pincode autofill and a Razorpay-style UPI, card, netbanking or COD panel
- Apply FIRSTDROP and see GST split as CGST and SGST or IGST by state
- Download a GST tax invoice and preview WhatsApp order updates
- Track a parcel through packed, shipped, out for delivery and delivered
- Book a size exchange with a pickup slot from the account area
Under the surface
How it is built
In production we would run this headless: a Next.js front end on Vercel reading products, variants and inventory from the Shopify Storefront API, with editorial content such as drop stories and lot notes in Sanity. Checkout would hand off to Razorpay for UPI, cards, netbanking and COD, Shiprocket would supply serviceability, delivery estimates and AWB tracking per pincode, and a WhatsApp Business API account through an Indian BSP would send OTPs, order updates and restock alerts. Klaviyo would hold drop-alert subscribers and fire the ten-minute warning before each drop.
- Garment art rendered from a shared SVG renderer, so a new dye is a colour value rather than a photoshoot
- Combo prices split per piece at order time so GST and single-piece exchanges stay correct
- GST rate chosen per piece by value, with CGST and SGST or IGST by place of supply
- Pincode lookups cached at the edge so delivery dates appear without a round trip
- Exchange requests created as Shiprocket reverse pickups with the new size reserved
Considered and turned down
We considered staying on a standard Shopify theme with apps for combos, pincode checks and WhatsApp. We turned it down because each app adds its own script and UI, and the dye-lot story and the exchange flow needed to feel like one product rather than five plugins.