Kiefer Likens
All work

002 — E-commerce · Web · Design System

A family kitchen operation with a commerce backend to match.

Client
Abby’s Elderberry
Industry
Direct-to-consumer herbal wellness
Engagement
Client work
Delivered through
Appalachia Digital
Status
Live
Role
Art Direction, UI Design, Design System
Stack
Next.js, Supabase, Stripe, Tailwind CSS, Multi-channel catalog

Attribution — Their footer credits “Built by Appalachia Digital”.

Abby’s Elderberry homepage: a plum and lavender storefront with the headline ‘Wellness for Your Whole Family, Naturally’.
Homepage — hero, statistics band, apothecary grid

02

Problem

A family making elderberry syrup in small batches had outgrown what a hosted store could do. The business had five distinct ways of selling — direct, subscription, bundle, wholesale, and independent sales reps — and a platform that only really understood the first one. Every additional channel meant another spreadsheet.

03

Insight

The bottleneck was not the storefront, it was the catalog. Once one product record can carry pricing identities for several sales channels at once, subscriptions and wholesale and bundles stop being separate systems and become views onto the same data. That is a backend decision that determines what the front end is allowed to be.

04

Direction

Apothecary without the costume. A deep plum and lavender palette with a berry accent — a genuinely owned color, not a wellness-category default — set in a variable serif over a humanist sans. Photography is warm and domestic: hands, kitchens, natural light. The register is heritage-craft, but the interface is a modern store.

05

Execution

A custom storefront over a hosted database and object store, with a bundle builder that turns choosing into a guided five, ten, or twenty flow with the discount built in. Subscriptions, wholesale, affiliate, and sales-rep programs each get a real route rather than a contact form.

06

System

Product records carry pricing identifiers for several channels simultaneously, so the same item can be sold direct, on subscription, and through a legacy channel without divergent inventory. Images are served from object storage rather than the repo, which keeps the catalog editable by the client without a deploy.

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.

  • Families served

    5,590+

    Published by client

  • Orders shipped

    5,421+

    Published by client

  • States reached

    50

    Published by client

  • Verified reviews

    4.9 / 46

    Published by client

The client publishes its own numbers on the site: 5,590+ families served, 5,421+ orders shipped, all fifty states reached, and a 4.9 average across 46 verified reviews. Those are the client’s figures, stated by the client — not results I am claiming for the build.

08 — Reflection

Reflection

One thing I would fix on sight: the animated statistics band server-renders as zero and counts up on the client, so anyone without JavaScript — and some crawlers — sees a row of zeros where the strongest proof on the page should be. Counting animations are a good example of an effect that quietly costs you the thing it was decorating.