← All work
Web Design & Build Homepage · desktop and mobile 2026

Solène

Beauty e-commerce homepage, wireframe to code

Web DesignE-commerceDesign EngineeringNext.js
Solène: key screens
Brand
Solène, clean beauty: skincare, makeup, haircare, body and fragrance
Role
Wireframes, visual design and front-end build
Scope
E-commerce homepage at 1440 (desktop) and 390 (mobile)
Stack
pen.dev for design, Next.js and Tailwind CSS for the build

A beauty e-commerce homepage designed in three passes: structure first as lo-fi wireframes, then the visual design, then a working build, with desktop and mobile carried through every stage.

At a glance

9
Sections, announcement bar to footer
1440 + 390
Designed for desktop and mobile
3
Stages: lo-fi, hi-fi, code
6
Colours in the whole system
Overview

A homepage that sells the ritual

Solène is a clean-beauty brand selling skincare, makeup, haircare, body and fragrance. Its homepage has a lot to carry in one scroll: a featured product and an offer, the reasons to trust the brand, a way into each category, the best sellers, the current promotions, and a newsletter sign-up.

I designed it in three passes so each decision was made at the right level of detail: the order and weight of sections as wireframes, the look once the structure was settled, and the behaviour in code.

  1. 01Lo-fi wireframesGrey boxes and numbered sections, desktop and mobile.
  2. 02Hi-fi designColour, type and photography on the same structure.
  3. 03BuildA working Next.js page, one component per section.
Wireframes

Structure before style

The lo-fi pass has no brand in it on purpose. Every section is numbered and named in the margin: header and navigation, the hero with its featured product, offer and call to action, categories, the product listing, offers and promotions, and the footer.

Working in grey kept the questions structural. The hero pairs the headline and two calls to action with a product card that floats over the image, so there is a way to buy above the fold. A trust strip sits directly under it, before any browsing starts.

Lo-fi wireframe, desktop 1440. Scroll inside the frame for the full page.
Lo-fi wireframe, desktop 1440. Scroll inside the frame for the full page.
Visual design

Warm, quiet, and a little editorial

The palette is six colours. Cream and ivory alternate as section grounds, so the page has rhythm without rules or boxes. Burgundy is the one strong colour, used for the announcement bar, the primary buttons, the sale panel and the footer. Terracotta is kept for small accents like the eyebrow labels.

Cream#F3ECE1
Cream deep#E8DCCB
Ivory#FBF7F0
Burgundy#3B121A
Ink#2A1A17
Terracotta#A8563C

Three typefaces share the work. Lexend Exa, wide and light, sets the headlines in capitals. Bodoni Moda is used once, for the wordmark. Instrument Sans carries the body copy and the interface.

The category images are cut into arches, which gives the grid a shape of its own and separates it from the square product cards that follow.

Shop by ritual, best sellers, and the week’s offers
Shop by ritual, best sellers, and the week’s offers
Hi-fi design, desktop 1440. Scroll inside the frame for the full page.
Hi-fi design, desktop 1440. Scroll inside the frame for the full page.
Mobile

Not a squeezed desktop

The mobile design at 390 is its own layout. Search moves out of the header into a full-width bar, and the navigation links become a row of category chips directly under it, so the two most common ways into the catalogue are both in reach before the hero.

Lo-fi and hi-fi, desktop and mobile, side by side
Lo-fi and hi-fi, desktop and mobile, side by side
Design engineering

From canvas to working page

I built the design in Next.js with Tailwind CSS. The design tokens carried straight across: the colours and the three font roles in the design file are the same colours and font roles in the stylesheet.

  • One component per section: header, hero, categories, best sellers, offers, newsletter and footer.
  • The best sellers filter works, with an empty state for a category that has nothing in it yet.
  • Add to bag updates the count in the header through shared cart state, and each card has a wishlist toggle.
  • The mobile header opens a menu and keeps the category chips selectable.

Every screen

4 frames

More projects