Ecnarf
AboutContact
About
46.23°N / 7.36°EVOL—01

WORK

VisualWordsWebSystem

STUDIO

About
01

DISCIPLINE — SYSTEM

Joy Julius - system

E-COMM · 2026

View live site ↗
02

STACK

  • Sanity
  • Stripe
  • Supabase
  • Resend
  • Umami
  • Cloudflare R2
03

THE GAZE

The technical infrastructure reflects the same philosophy as the visual: precision, restraint, intentionality. We didn't choose tools because they were trendy—we chose them because they matched how Joy thinks about running a business. The gaze is editorial and mercantile at once. The website is a curated space, not a database. Transactions are frictionless, not theatrical. Customer data is secure and owned, not third-party-dependent. Performance matters because respect for the viewer's time is respect for the work itself.

04

THE PROCESS

  1. 01

    The stack is deliberately small. Next.js handles the frontend because it balances performance with editorial flexibility—we needed something that could manage both product catalogs and narrative-heavy collections without requiring a full backend team. TypeScript prevents runtime errors in a small operation where mistakes compound.

  2. 02

    Sanity CMS was chosen over traditional e-commerce platforms (like Shopify) because collections aren't just products—they're stories. Sanity's structured content model lets us store product data and narrative together. There's no separation between commerce and culture. Joy decides how information is organized, not the platform imposing its schema.

  3. 03

    Stripe handles payments because it's headless and API-first. We control the checkout experience completely, and customers see exactly what they're paying. Shopify Payments locks you into their ecosystem; Stripe lets us own the relationship. The webhook integration syncs payments directly to Supabase, creating a continuous record of every order.

  4. 04

    Supabase replaces traditional SaaS tools because Joy needs to own her customer data. Order history, newsletter subscribers, JJ Circle membership—all live in our database, not scattered across third-party APIs. It's PostgreSQL with an admin UI, so we get SQL power without vendor lock-in. Firebase would be easier to set up, but it's a trap.

  5. 05

    Resend for email and Umami for analytics follow the same principle: tools that respect both the business and the customer. Resend lets us write email templates as React components (they match the brand). Umami is privacy-first—we track what matters (conversions, page flow) without fingerprinting. No consent popups, no Google Analytics bloat.

  6. 06

    Vercel hosts the site because Next.js is made by Vercel. Deploy is one command. Edge caching is automatic. Image optimization is built-in. We're not choosing between control and simplicity—we're choosing conventions that work.

05

THE RESULT

Sanity functions as the editorial command center where collections have narrative fields alongside product data. Product pages render fast through Next.js static generation. Stripe powers transactions transparently, with webhooks syncing payments to Supabase where customer records are created. Resend sends beautiful, curated emails. Umami tracks impact respectfully. Vercel hosts with performance as the default. The integration flows work seamlessly: customer browses → clicks Stripe Payment Link → completes purchase → webhook fires → Supabase order created → customer synced to newsletter. The stack grows with the business. At £10K/month it works as-is. At £1M/month we add infrastructure layers, but the architecture doesn't break. The technical philosophy in one sentence: use boring, proven technology that respects data ownership, prioritizes performance, and scales without rewriting. Make decisions based on principle, not trend.

06

THE RESONANCE

This specific combination works because editorial and commerce live in the same space. Joy can write about an Adire shirt's lineage and its price in one interface. Data ownership means if she wants to analyze customers or migrate platforms, she can. The stack is small enough that new developers understand the full system in a week. Performance isn't a feature—it's a promise. A fast site says "this is serious." A slow site says "we don't care about your time."

The architecture scales without rewriting. It works at £10K/month revenue and scales to £1M/month with the same components. No "we need to rebuild" moment. Total infrastructure cost is roughly £100/month—Sanity's free tier covers our use case, Supabase is pay-as-you-go, Stripe takes a transaction percentage, Vercel pro is about £20/month. No bloat.

07

HAVE A PROJECT IN MIND?

Let's start a conversation.

Tell us about it.

← Back to system

Work

VisualWordsWebSystem

Studio

AboutPrivacy
© ECNARF — MMXXVI — SION
Set in Grandstander & Playfair.
Designed, written & coded by one hand.
info@ecnarf.com
read backwards:
ecnarf