JM Skin

JM Skin is a skincare store I built and operate end to end: headless commerce on Medusa, a Next.js storefront with its own design system and self-hosted type, and a curated 197-product catalog. Behind the storefront sits the machinery that actually sells campaigns that reach the inbox, promotions that win old customers back, and automation that runs every day.

©26 — Commerce / Email / AutomationJM SkinLIVE · jmskin.com
The JM Skin storefront
( The storefront )

The store is its own design system — self-hosted type, custom componentry, nothing off a theme shelf. And it adapts to the person using it: a skin-analysis quiz builds a personalized routine with one-tap add-to-cart, backed by a first-party visitor profile and event pipeline living in the store's own database — the foundation the storefront keeps learning from.

The Skin Analysis quizThe personalized routine the quiz composes
( The imagery )

The product images are custom too. The brand needed imagery it didn't have, so I created stylized covers for the whole catalog — one consistent look across every product, set as the primary image storewide — and new pieces for whatever the store needed next. The plain supplier photos are gone.

The catalog wearing its custom covers
Custom product cover — Retinol EmulsionCustom product cover — Azulene Ampoule
( The operator )

The distinctive part is the store operator: an AI agent the owner messages on Telegram to check sales, capture payments, and update prices. Anything that touches money waits for a human yes, and every change gets written down.

Deliverability is engineered, not hoped for. Campaigns and win-back promotions run on the store's own data, gift-with-purchase promos are built so they can't accidentally discount, and deploys pass readiness gates with rollback tags — the store is operated like software, because it is.

The orders board (demo data)The photography list — every product still waiting for a real shot, tracked from Telegram (demo data)
The JM Skin store on a laptop
See it for yourself — jmskin.com
All work ↳Design, build & operations — Caleb Lemos
Next — Case study 03Colonial Enroll