Online stores

An advanced store ready to scale.

December 2025haftclub.com
a

Personalised embroidery and engraving is a business that rests, by its nature, on an individual approach to every order. Every customer wants something different - a different text, a different symbol, a different file. HaftClub knew it wanted to grow, but without an online store every order meant a separate conversation, a separate email, a separate file. I built a system that changes that - and that is ready to grow with the company.

The challenge

Before the store went live, HaftClub had no online sales channel at all. That meant a concrete limit: the company could only reach customers who already knew it or arrived through a recommendation. Every order, especially the fully personalised ones, required manual coordination: a phone call, an email, a file, a confirmation, a quote.

The complexity of the offer was a further challenge. Some products have a fixed set of personalisation options - text fields, selects, file upload. But some are entirely bespoke, where the owner has to see the enquiry first, contact the customer and agree a price individually. One system had to handle both scenarios.

International sales were on the horizon too - from the start, the system had to be ready for different currencies and different markets.

a
a
a
a
a

01 / 05

The solution

I chose Medusa.js with Next.js and extended it with a custom personalisation module - more advanced than anything a standard e-commerce engine offers.

The personalisation forms are built in the admin panel and assigned to specific products. Every form can have a completely different configuration - text fields, selects, file uploads. But that is not all: the forms also handle paid add-on options. When choosing a product, the customer can buy specific personalisation variants, and the order price updates dynamically.

The second key element is an enquiry module for fully bespoke products. The customer fills in a form describing their project, the owner receives the enquiry, contacts the customer and agrees a price. Once both sides agree, a single click turns the enquiry into an order. No retyping data by hand, no chaos.

The whole thing is prepared for international sales - multi-currency support and infrastructure ready for expansion without rebuilding the system. Payments through Stripe, delivery through InPost.

Forms with paid add-ons

The customer personalises a product and buys add-on variants in one flow - the price updates dynamically.

Enquiry module

Bespoke projects arrive as enquiries to the owner - once the price is agreed, a single click turns them into an order.

The results

The store eliminated manual coordination for standard orders - the customer personalises the product themselves and the data goes straight into the order. The owner spends her time and attention on what genuinely needs her: the fully bespoke projects, where her knowledge and experience actually matter.

The flexibility of the system means new products can be introduced without a developer - no matter how much they differ from the previous ones. And an architecture ready for multiple currencies and markets means that when HaftClub decides to expand, the store will be waiting.

Taking on new projects

Got a similar project?

Let's talk.