Skip to content
Open — Source is public on GitHub2026

Design & full-stack

Three readings
Client
A mobile-first storefront for a Pakistani fashion thrift label, shoppable like an Instagram feed — with an admin the owners run the whole shop from.
Recruiter
Designed and built end to end: Next.js 16, React 19, Tailwind v4 and Supabase, with a full admin for products, drops, orders, customers, reviews and sales analytics, and cash-on-delivery checkout.
Engineer
Orders go through one Postgres function that locks each product row, re-prices from the database and decrements stock atomically — the browser never decides a price, and an out-of-stock item fails the whole order.

What it does

  • A shop that feels like the label's Instagram — product grid, rails, and weekly drops pinned under the hero as stories
  • Filters, deals, a wishlist, order tracking and stock-urgency badges built for shopping on a phone
  • Social proof from real recent orders, and reviews collected through a personal link on each order
  • An admin with revenue and orders by day, top products, CSV order export and a command palette to jump anywhere

Under the hood

  • create_order is one Postgres function: row locks, trusted price rehydration and an atomic stock decrement
  • Row-level security leaves products readable and everything else deny-by-default; the admin sits behind its own auth
  • Product images through Supabase Storage with an admin uploader; drops, reviews and order email each added as their own migration
  • Brand details, contact and WhatsApp number live in one config file, so the owners change copy without touching components
  • Checkout is structured so a payment gateway can be added later without rewriting the flow

Built with

  • Next.js 16
  • React 19
  • TypeScript
  • Tailwind v4
  • Supabase
  • PostgreSQL
  • Row-Level Security
  • Zustand
  • Supabase Storage

Signal path

architecture
storiesreviewatomicmanageShoppermobile-firstStorefrontNext.js 16Dropsweekly storiesOrder functionlocks · stockReviewsper-order linkSupabaseRLS · storageAdminanalytics · orders