All work

Auntie Marlene's

A modern Black hair & beauty supply store

Every UK high street has a Black hair and beauty shop. They are rarely owned by us. This is a storefront that assumes the customer rather than accommodating them.

The problem

Black hair care is usually an afterthought on someone else’s shelf — stocked, but not curated by anyone who uses it. The store is built on the premise that it should have its own home, run by people who live it.

What it does

A headless storefront for Black hair and beauty products — browse, search, save, bag and checkout across several locales — with hair-type and skin-type quizzes that route shoppers to relevant products, and a content system that publishes daily.

How it's built

  1. Two representation judge loops, because no model gets it right

    Generated imagery is scored by a vision judge specifically on skin tone, hair texture and anatomical quality, with a redo verdict retried before falling back. It exists because the quality bar the brand’s whole premise depends on is one that no off-the-shelf model or stock library meets reliably.

  2. Catalogue tagging built on a local index, not their search

    Publishing with shopping tags requires mapping each product to a catalogue ID. The entire catalogue is loaded once into an in-memory name index rather than calling the platform’s search endpoint, with the reason written into the file: that search is unreliable enough not to depend on.

  3. A content pipeline that cannot run dry

    A large seed topic list feeds the daily job; when it is exhausted a generator produces fresh long-tail topics deduplicated against what has already been covered, so the schedule never silently stops producing.

  4. Cron cadence chosen from how the database bills

    Because the database bills a five-minute minimum per wake, the abandoned-cart job is deliberately hourly rather than every fifteen minutes — its window is carts created one to four hours ago, so hourly still catches every one with hours of margin, at a quarter of the wakes.

Stack

  • Next.js
  • Sanity
  • Stripe
  • PostHog
  • i18n

Built, shipped and maintained by me. Try Auntie Marlene's, or see the rest of the work.