/ E-COMMERCE

Apis Manoli

Turning a family honey farm into a premium digital brand.

ReactNext.jsShopifyTailwind CSS
Apis Manoli interface
0
Custom frontend
0
Product lines launched
0
First design
0
Backend (zero lock-in)

01 / CONTEXT

Overview

THE CHALLENGE

A specialist honey producer was selling exclusively at farmers' markets and losing potential customers who couldn't buy online. Their existing presence was a basic Shopify storefront with no brand identity, it looked identical to thousands of other small shops.

THE SOLUTION

Built a custom Next.js frontend on top of Shopify's Storefront API, replacing the generic theme with a hand-crafted brand experience. The design centres on the story of the farm, the beekeeper, and the craft, making the product feel premium before the customer even adds to cart.

THE OUTCOME

The client reported a meaningful increase in online orders within the first month of launch, and the average order value rose as customers began purchasing gift sets they'd previously ignored.

02 / WHAT IT DOES

Key features

Brand Storytelling

The homepage leads with the farm's story, the beekeeper, the hives, the seasons. High-quality imagery and editorial copy position the product as artisan rather than commodity.

Custom Storefront UI

Every product page is hand-designed with custom typography, colour palette, and illustration style. The Shopify Storefront API handles inventory and checkout while the UI is entirely bespoke.

Gift Set Builder

A step-by-step gift configurator lets customers mix honey varieties and packaging options. The selections update a live Shopify cart without a page reload.

Tailwind CSS Design System

All spacing, colour, and typography tokens are defined in the Tailwind config, ensuring pixel-perfect consistency across every screen size.

03 / STACK

Tech decisions

Tap any item to see why it earned a place.

04 / PROCESS

How it came together

05 / HARD PARTS

Challenges & solutions

Each configuration change needed to update the Shopify cart, introducing latency. I solved this with optimistic UI updates, the displayed price and summary update immediately while the cart mutation happens in the background.

LET'S BUILD SOMETHING TOGETHER

I'm always open to discussing new projects, partnerships, or just a good idea.