Web Application · E-commerce · 2024

PaliHigh Fits

A commerce experience built so browsing feels closer to flipping a lookbook than scrolling a store.

TypeWeb / App
StatusLive
RoleDesign + Build
StackFull-Stack
PALIHIGH
DRAG TO ROTATE
Drag to inspect

01Problem & Context

A clothing brand with a strong visual identity was being flattened into a generic template store — the kind where every product looks like a spreadsheet row.

The challenge: build a storefront that carries the brand's editorial energy and still does the unglamorous commerce job — cart, checkout, inventory, mobile — without compromise on either side.

Constraints: real product data, real payments, and it had to feel fast on a phone, which is where the audience actually shops.

02Solution & Approach

I treated the catalog as a magazine, not a grid. Products are laid out with editorial rhythm, oversized imagery and intentional white space — then the commerce machinery is tucked underneath so it never gets in the way.

  • Imagery-first layout — the product photography leads; copy and price support it rather than competing.
  • Mobile as the primary target — every interaction was designed thumb-first, then scaled up to desktop.
  • Fast perceived load — lazy-loaded media and skeleton states so the page feels instant even on a phone connection.

Why these choices: for a fashion brand the photography is the product page. Everything else is plumbing that should disappear.

03Visual Showcase

Storefront, product, and mobile views. Swap the placeholders for the real hero, product showcase, mobile screens and feature GIFs.

04Technical Breakdown

FrontendResponsive Web CommerceCart · Checkout MediaLazy-loaded · Optimized PerfSkeletons · Prefetch

The interaction that sells the editorial feel is a deliberate, staged reveal as products scroll into view — choreographed, not random:

// reveal products with editorial cadence
const io = new IntersectionObserver((entries) => {
  entries.forEach((e, i) => {
    if (e.isIntersecting) {
      e.target.style.transitionDelay = `${i * 90}ms`;
      e.target.classList.add('in');
      io.unobserve(e.target);
    }
  });
}, { threshold: 0.2 });

Hardest challenge: keeping the editorial layout from fighting the checkout flow. The answer was a strict separation — expressive on the way in, ruthlessly conventional once money is involved.

05Results & Impact

Live
Shipped & selling
Mobile
First-class target
Brand
Identity preserved

What I learned: a store's job is to get out of the way of the product. The best compliment was that it "didn't feel like a website."

What I'd do differently: instrument the funnel from day one so every layout decision could be checked against real behavior.

Want to build something like this?

Start a conversation