
Personalisation is a simple word that can be a technical nightmare in practice. Every product different, every customer with their own file, their own text, their own idea - and all of it has to reach the owner in a form she can actually work with, without chaos in her inbox. That was the problem I solved for Koko Sklep.
The challenge
Koko Sklep sells embroidery on clothing and accessories - ready-made designs, but also customers' own projects. It sounds simple until you get down to the details. A hoodie needs a different set of options than a scrunchie. One product needs a text field for initials, another needs a file upload with a custom design, another a symbol picked from a list.
Before the store went live, that entire process ran over the phone and by email. The owner collected files, confirmed details, asked about colours. Every order meant a separate conversation. That model works at a few orders a week - but it blocks any growth.






01 / 06
The solution
I chose Medusa.js as the store engine and extended it with a custom personalisation module - because no off-the-shelf solution would handle this kind of flexibility out of the box.
The core problem was architectural: how do you build a form system where every product can have a completely different set of fields, while still giving the owner full control without a developer involved in every change? The answer was an admin panel that builds forms in any configuration - text fields, selects, image uploads - and assigns them to specific products.
On the customer's side the whole ordering process comes down to three steps: pick the product, personalise it, check out. Uploaded files are validated and optimised automatically, and the personalisation data goes straight into the order - with no email in between.
Payments run through Stripe, delivery through InPost. The visual design was created together with the owner - I wanted the store to look like her store, not like another template off the internet.
Dynamic forms
Every product has its own form built in the admin panel - text fields, selects, file uploads - in any configuration.
A design made to measure
The look of the store was created together with the owner. No templates - every element reflects the character of the brand.
The results
The biggest change is operational. The owner is no longer the middleman between the customer and their order - the store gathers all the information itself, in a structured form, ready to be produced.
New products can be added without a developer. Build a form in the panel, assign it to the product, done - no matter how different it is from the last one. That gave Koko Sklep real flexibility, which no standard e-commerce engine offers without deep modification.