BP Shop
Five years of work together: from Shopify to a custom webshop, one stock across store and online, an in-house loyalty programme and campaign-proof operations.
About the project
There is a sentence a developer rarely enjoys saying out loud: "the thing we built for you, you are going to outgrow". At BP Shop we said it, and we were right.
We have worked together for 5 years. Back then, in 2021, we set their shop up on Shopify, and for that size it was the right answer: a fast start, little to operate, a predictable monthly fee. Then the shop grew, and every new idea started with the same sentence: "will the system let us". When that becomes the most frequent sentence in a project, it is time to move.
Why a template shop is not enough for a multi-brand store
BP Shop does not sell one brand but many, from streetwear clothing through caps to accessories, and it thinks in collections. On the catalogue side that means the same product exists in sizes, in colours and under per-brand logic, and it turns over every season.
On top of that, BP Shop is not only a webshop. There is a physical store as well, and the customer does not understand, and should not have to understand, that these might be two separate systems. If you see something online you want to buy it in the store too, and the other way round. One stock across 2 sales channels isn't something you switch on, it's something you design.
The loyalty programme that is not a plugin
Loyalty points look simple: you buy, you earn, you redeem. In reality they are full of decisions. What counts and what does not, what happens on a return, how long a point lives, what to do with a discounted item, and how to show all of it so the customer trusts it.
These are business questions, not technical ones, and that is exactly why you cannot buy them in a box. A generic points plugin brings its own idea of all this, and from then on it is not you who decides how you reward a returning customer. So we wrote BP Shop's loyalty system ourselves, by their rules.
What campaign season reveals
Fashion retail traffic fluctuates by nature: a collection launch, a season change and a campaign all bring visitors at the same time, and the period in between is quiet. That is when it turns out whether a query is written well, and whether the system can carry what marketing promised.
This cannot be solved on the day of the campaign. Operations sit on our side, and preparation always starts earlier than the advertising.
When is it time to switch?
A rented platform is not a bad decision, it just has an expiry date. While the shop lives inside the template it is cheaper and faster than anything else. The switch comes when customisation costs more than the system itself, and no anniversary tells you that: the number of times a month you hear "it cannot do that" does.
And a good developer says so even when it is inconvenient for them at that moment. I wrote about this in more depth in the Vates case study, where the same move happened in one go, and you will find our webshop work under services.