Skip to content
paused

Rose Rebel

Rose Rebel is my clothing brand: street glamour, limited drops, and a custom storefront at roserebel.co.uk. The shop, checkout, and admin are built; the brand itself is on pause rather than actively dropping new collections.

CategoryWebsite

Year2026

Statuspaused

Rose Rebel hero
Next.jsReactTypeScriptPostgreSQLPrismaPolarTailwind CSSGSAP

Overview

Rose Rebel is a London-based streetwear label I designed and engineered end to end: identity, storefront motion, product catalog, checkout, and admin. The public site is live at roserebel.co.uk. New collections are paused for now — the brand and the shop remain as a complete product, waiting for the next drop rather than being abandoned.

Problem

I wanted a clothing brand that felt like a world, not a generic Shopify theme. That meant a custom look (black, blood-red, gothic RR mark), limited-run merchandising, and enough backend to actually sell: accounts, cart, payments, orders, and an admin who can list hoodies without touching a database.

Solution

A Next.js App Router store (rose-rebel-store) with Prisma and PostgreSQL, Polar checkout, JWT cookie auth, and a GSAP-led homepage. An earlier React/Vite app remains as the visual reference. The storefront covers shop categories, product pages, cart, dashboard, and an admin panel for products, Polar linkage, categories, orders, and roles.

Technical implementation

  • Next.js storefront with a custom Rose Rebel design system: near-black canvas, red glow, display type, and the RR monogram
  • Prisma + PostgreSQL for products, categories, users, orders, and admin audit logs
  • Polar.sh checkout and product sync, including unlisted/archived visibility pushed back to Polar
  • Cookie JWT auth: register, login, password reset, email verify, and a customer dashboard
  • Admin: image uploads, Polar product IDs, category CRUD, order status, role changes, and guards against deleting in-use records
  • GSAP homepage motion (split titles, falling rose petals) carried over from the original Vite brand experience

Challenges

  • Making a fashion site feel cinematic without turning product pages into a performance problem
  • Keeping Polar products and the local catalog aligned when listing, hiding, or archiving items
  • Admin safety: not deleting categories or products that still sit on orders
  • Knowing when to pause the brand commercially instead of shipping empty drops

Results

  • A live branded store at roserebel.co.uk with catalog, cart, checkout, and admin
  • A complete identity system (mark, colour, motion) that still reads as Rose Rebel while the label is paused
  • A stack ready to reopen when the next collection is ready — no rebuild from scratch

Future improvements

  • Resume drops with a clearer collection calendar and limited-run storytelling
  • Fix remaining production nits (for example a Suspense boundary on password reset)
  • Richer size/fit tooling and photography once manufacturing is active again

Explore more work

Back to the full showcase, or reach out if something here overlaps with what you need.