← all work

full-stack · commerce

Layered Livinglive

An editorial home-interiors storefront for the Indian market.

A live storefront doing real revenue: browse → Razorpay → GST invoice → email.

context

A client (Shankar Plywood House) needed a real online store for furniture, lighting and decor, not a template demo but an actual business that takes money. The brand is editorial and ultra-minimal: print-magazine whitespace, strict greyscale, a type-weight ceiling of 500, no shadows. That aesthetic was a hard constraint enforced in code, not a coat of paint.

the problem

E-commerce is deceptively deep: a catalog non-engineers can edit, authenticated checkout, payments that can never double-charge or under-charge, tax-compliant invoices, and transactional email, all of it correct under real users and real money.

what i built

A clean split between two backends with no cross-contamination: Sanity owns the catalog and editorial content; Supabase owns everything user-related (auth, cart, orders) behind row-level security. Money is integer paise across every boundary. The type system is the first defence against unit bugs.

  • Crash-safe, exactly-once orders via an idempotent Postgres RPC called by both the browser and a Razorpay webhook safety-net
  • GST-compliant PDF invoices with atomic per-year sequential numbering, generated server-side and emailed on payment
  • Razorpay payments verified server-side with constant-time HMAC-SHA256, so the client never sees a trusted amount
  • Optimistic Zustand cart over a Supabase source of truth, reconciled via realtime
  • Centrally SEO-instrumented: JSON-LD, a 160-URL ISR sitemap, dynamic OG images

outcome

Live at layeredliving.co.in, serving a real storefront end to end. Security was a first-class deliverable: RLS on every user table, distributed rate-limiting via Upstash Redis, DPDPA-compliant cookie-gated analytics.

A real business runs on it: full purchase funnel, GST-compliant, hosted on Vercel.

next project Hell Blazer →