Kiefer Likens
All work

009 — E-commerce · Web

Eighty products, one decision.

Client
Indigo Sundries Soap Company
Industry
Handmade soap and beard care
Engagement
Client work
Status
Pre-launch
Role
Design, UI Design
Stack
Next.js, Supabase, Stripe, Tailwind CSS

Deployment note — Build is on a preview URL with known outstanding defects. The company’s production domain currently still serves their previous Squarespace site.

Indigo Sundries homepage: cream and indigo storefront with the headline ‘Handcrafted Soap, Made the Old Way’.
Homepage — category grid and bundle builder

02

Problem

A family soap maker with around eighty products on a hosted site that could not support the one thing that would raise order value: guided bundling. Eighty near-identical bars is not a catalog, it is a paralysis engine.

03

Insight

Nobody wants to compare eighty bars of soap. They want to be told which five are for them. Turning the catalog into a mood-filtered choose-five-ten-or-twenty flow converts the size of the range from a liability into the reason to buy.

04

Direction

Heritage apothecary — cream ground, tan and brass, deep indigo and terracotta, in a traditional serif over a humanist sans. Product photography on plain grounds. Craft-market register, deliberately traditional.

05

Execution

One hundred and twelve routes: nine shop categories, eight soap sub-categories, around eighty product pages, bundles, subscriptions, and accounts, on a custom storefront over a hosted database with a real payment integration.

06

System

Product media served from object storage; checkout and accounts custom-built rather than hosted.

07 — Evidence

Each figure is labeled with where it came from — observed in the build, published by the client, or published by a partner. Nothing here is an unsourced performance claim.

  • Routes

    112

    Observed in build

  • Product pages

    ~80

    Observed in build

  • Published reviews

    5.0 / 1,200

    Published by client

  • Known open defects

    3 — logged, not shipped

    Observed in build

The company publishes its own figures on the site: a 5.0 average across 1,200 reviews, and twenty-plus years of craft. No agency-attributable performance data exists for this build.

08 — Reflection

Reflection

I am including this at secondary rather than featured, and the reason is content hygiene, not code. The generated sitemap hardcodes localhost for all one hundred and twelve URLs. The previous platform is still named in live product copy on a site whose entire purpose was leaving it. The free-shipping threshold contradicts itself between the footer and the bundle builder. The build is the most technically ambitious in this set and the least finished, and pretending otherwise would be the wrong lesson to draw from it.