Éclat Aesthetica
A med spa's whole identity and its website, built solo — logo system, brand book, photography, and a site that books appointments.

- Client
- Éclat Spa & Wellness
- Year
- 2026
- Status
- Live
Before
A lease, two lasers, and no brand.
A new medical spa in Phoenix had a lease, two lasers, and no brand. No logo, no colors, no typography, no photography, and no website — and a grand opening already on the calendar. Everything a client would use to decide whether to trust them with their face had to exist, and it had to exist at once.
- NoneLogo
- NoneColors
- NoneTypography
- NonePhotography
- NoneWebsite
What I built
The whole identity and the site it lives on. A logo system of four lockups in five colorways, traced from a master file into real vector art and shipped as a brand book. A photography direction, shot on location. Then a Next.js site built on that system — a scroll-pinned hero, a treatment catalog, real clinical before-and-afters, and a booking path wired to the spa's actual scheduler.
The mark
Plate IOne layered master. Four lockups, five colorways — traced out to real vector art rather than exported as four pictures of a logo, and handed over as a brand book.




- 4Lockups
- Wordmark
- Simple
- Horizontal
- Stacked
- 5Colorways
- RGB
- Ink
- Cream
- Black
- White
- 2Formats
- SVG
- PNG
- 40Files delivered
Four lockups, in five colorways, in two formats: forty files delivered.
The toolchain
Plate IIThe logo is not four exported PNGs. It is a build: a layered master and outlined type go in, a tracer and a gradient solve run over them, and forty files come out the other end.
01 Master
- Layered PSDOne source of truth(Source)
- Font outlinesopentype.js, no fonts to ship(Source)
02 Trace
- potraceRaster → vector paths(Process)
03 Fit
- Gradient solveLeast-squares, pixels → linearGradient(Model)
04 Build
- 4 lockupsWordmark, simple, horizontal, stacked(Process)
- 5 colorwaysRGB, ink, cream, black, white(Process)
05 Ship
- SVG + PNG40 files, both formats(Output)
- Brand bookPDF, client-facing(Output)
The rose-gold sweep across the wordmark is a real SVG gradient, not a raster. potrace gives you flat paths; the sweep is least-squares fitted back out of the source pixels and rebuilt as a linearGradient — so the mark scales to a building sign without turning into a photograph of a logo.
The rooms
Plate IIIA photography direction, then the shoot: the spa's own rooms, its own reception, and an editorial still life for each retail line.

The rooms are real. Shot on location, straightened and graded.



The site
Plate IVSeven pages on the system the plates above describe: a scroll-pinned hero, the treatment catalog, real clinical before-and-afters, and a booking path wired to the spa's own scheduler.








Colophon
Outcome- Concept to live
- 5 wks
- Logo files delivered
- 40
- Pages shipped
- 7
- Contrast, measured per token
- AA
Live at eclatazmedspa.com, and still being revised with the client — the last commits are their pricing and their opening hours, not mine.
Role
Solo, and all of it: the identity, the logo system and its build toolchain, the brand book, the photography direction and the shoot, the design, the front end, the SEO, and the deploy. The client's only job was to say yes.
- Built with
- Next.js 16 · React 19 · TypeScript · Tailwind CSS v4 · Motion · Mangomint · Resend · Vercel · Adobe Fonts · potrace · opentype.js · Photoshop