measuredcode

Ukraine · Croatia

Demo · WooCommerce · built from someone else’s design

Aubrell

A clothing store built from a public Figma template by another designer, to show how closely we follow a design we did not draw. The brand is fictional: nothing is sold and no payment is taken.

34 screens

frame and build side by side

1–3 px

off the frames, desktop and phone

Every change

from the design listed with its reason

← For agenciesAll the work

The design and the build

The frame on the left, the store on the right.

Every frame in the Figma file was built, then screenshotted in the same state at the frame’s width: 1920 px on desktop, 375 px on a phone. Offsets were measured from the pixels of both images: the edges and baselines of photos, text, fields and buttons.

Most pairs sit within 1–2 px, a few within 3. Where a page runs taller or shorter, our text is a line longer or shorter than the design’s.

Figma frameOur build

Home page: the Figma frame and the built store side by side
Home, 1920 px

Figma frameOur build

Product page: the Figma frame and the built store side by side
Product page

Figma frameOur build

Checkout shipping step: the Figma frame and the built store side by side
Checkout, shipping step

Figma frameOur build

Home on a phone: frame and build
Home, 375 px

Figma frameOur build

Product page on a phone: frame and build
Product page

Figma frameOur build

Checkout shipping step on a phone: frame and build
Checkout, shipping

Left in each pair: a frame from “eCommerce Template – Clothes Shop” by Viachas Kul, CC BY 4.0, with its own sample photos. Right: the build, with our photos and copy.

Where the build differs

Nothing changed quietly.

Where a frame could not be built as drawn, the change was written down with its reason before it was built. You get the list with the handover, so you know what to tell the designer and the client.

Right: six of the eighteen changes on this store.

WhereIn the designIn the buildWhy
CheckoutThree separate pagesThree steps of one form on one addressKeeps WooCommerce’s own validation, hooks and order handling
Payment stepCard number, expiry and CVC fieldsThe same layout without card fieldsA demo must not collect card details or look as if it does
Catalog filtersThe frames disagree: Size on one, Color on anotherCollection, Size and Color togetherCovers both frames and works without JavaScript
Search on wide screensNo frame shows it openThe phone menu’s search field in a small panelBuilt from the closest frame instead of a new component
Checkout buttonsText repeated from other steps, such as “Continue to payment” on the Payment step“Place order”Each button says what it does
Information step“Keep me up to date” and “Save this information”Not builtThe store sends no mail and has no accounts, so both would do nothing

What the frames don’t show

Every width between the frames

The frames are drawn at 1920 and 375 px. The store was checked at seven widths from 320 to 1920. At 768 and 1024 px the catalog and product pages first scrolled sideways. Now their columns shrink in proportion.

Errors and wrong input

No frame shows a field error. They follow the file’s own styles and components: a size not chosen, an empty field or a wrong ZIP code at each checkout step.

Without JavaScript

The size select, Add to cart, checkout, the Stockists countries and the Campaigns photos all work with scripts turned off.

Edited in the block editor

About, Values, Contact, Stockists and Campaigns open in the block editor with every block valid, so the client’s team changes text and photos without a developer.

Proof of testing

Checked like client work.

The same QA log we hand over on a client project: what we did, what should happen and what actually happened. Wrong inputs are tried on purpose.

Right: six rows from this store’s log.

#StepExpectedActualResult
P3Add to cart without a sizeMessage, nothing added“Select a size first.”, Cart(0)Pass
P6Information step: Continue with every field emptyMessages, stays on the step5 field messages, still on InformationPass
P7Email “buyer@”, ZIP “123”Email and ZIP messages“Enter a valid email address.” “Enter a 5-digit ZIP code.”Pass
P11Different billing address without a last nameOrder refused on the Payment step“Billing Last name is a required field.”Pass
P12Place a valid orderOrder received, $600.00Order received, $600.00, no payment takenPass
A3Keyboard: tab through home, shop, product, contact, checkoutEvery focused element visible15 stops on each, all with a focus outlinePass

Checked in Chrome and in WebKit, the engine behind Safari, at seven widths from 320 to 1920 px, on the live store.

Stack

  • WordPress
  • WooCommerce
  • Block theme
  • PHP 8.4
  • MariaDB
  • Docker
  • GitHub Actions

Design based on “eCommerce Template – Clothes Shop” by Viachas Kul, CC BY 4.0, adapted. Photos: Unsplash contributors, Unsplash License.

Open the store →

Have a design to build?

Send us the file or a link to it. We’ll say what can be built as drawn and what needs a decision.

Discuss a project