E-commerce · Replatforming
Digital catalogue replaced by a full in-house online shop.
€20M revenue in the first year.
A digital catalogue written in Perl, with no real e-commerce behind it, was replaced by a full in-house online shop. Deeply integrated with the internal system landscape, with ML-driven product recommendations and an international rollout. €20M revenue in the first year, expectations beaten.

The starting point
A digital catalogue that wasn't one. No real shop.
An established German market leader in motorcycle mail order ran a website written in Perl that was more digital catalogue than online shop. Only a fraction of the range could actually be bought. Integration with the internal system landscape, inventory management, point of sale and the connected specialist systems, was largely missing.
For a market leader in its segment, that was a strategic problem. Bricks and mortar retail worked, but the digital business stayed far below what was possible. A step by step approach was not an option, the Perl base was too old and too inflexible. It needed a complete restart.
The challenge
A complete rewrite. Deeply integrated. Under pressure to deliver.
A rewrite is the riskiest project there is. The old shop had to keep running in parallel while the new one was being built. At the same time the requirements were complex: deep integration with a grown internal system landscape, country specific shop variants for the international rollout and a fast checkout process that lives up to a market leader's claim.
On top of that came the weight of expectation. A market leader launching its first full online shop expects a lot. No MVP thinking, no "let's see how it goes", but a shop that works from day one and generates revenue.
My approach
Rebuilt from scratch.
Deeply integrated.
Scaled internationally.
Bespoke online shop on PHP
Built a full in-house online shop on PHP with Zend Framework. Not a standard system bent into shape, but a bespoke solution that adapts to the company's processes instead of the other way round.
Product catalogue and checkout
Designed and implemented a central product catalogue. Built a fast and reliable checkout process. Integrated external payment providers for secure and scalable payment processing.
Deep ERP integration
Integrated the shop deeply with the internal system landscape: inventory management, point of sale and the connected specialist systems. Real time data exchange instead of manual processes. The internal system landscape and the shop speak the same language.
ML-driven product recommendations
Implemented automated, ML-driven product recommendations on top of Elasticsearch. Analysed user behaviour, suggested relevant products, raised conversion measurably. Decisions based on data instead of gut feeling.
International rollout
Built country specific shop variants as the basis for international expansion. Multiple languages, country specific payment providers, local requirements. The shop was built for international growth from the start.
What was hard
No room to scale down.
The project had a history. The shop had been attempted before and postponed more than once. Whoever goes next inherits not just the requirements but the scepticism: every status update is measured against whether it sounds like the next delay. Trust was not an advance at the start, it was something to be earned with each delivered piece.
A market leader does not launch with half a catalogue. A reduced first version was off the table. The scope was fixed before the first line of code: the full catalogue, a working checkout, integration with inventory management and in-store systems, plus country specific variants for the international rollout. The usual answer to deadline pressure, cutting scope, was not available.
What remained was sequencing: first what makes the shop able to sell, then what makes it complete. Shippable increments rather than one big date at the end, so it was visible at any time where the project stood and surprises surfaced early instead of just before launch. The shop went live on time and generated 20 million euros of revenue in its first year.
The outcome
Market leader. From day one.
revenue in the first year
Expectations beaten: from digital catalogue to the strongest revenue channel.
conversion
Through ML-driven product recommendations, measured over a year and continuously optimized.
market leader
The first full online shop in the segment: a digital foundation for sustainable growth.
A digital catalogue written in Perl, with no real e-commerce behind it, was replaced by a full in-house online shop that generated €20M in revenue in its first year and beat expectations doing it. ML-driven product recommendations raised conversion by 10%. The shop runs deeply integrated with the internal system landscape, supports country specific variants for the international rollout and forms the digital foundation for the sustainable growth of a German market leader. The successful delivery led to a follow-up engagement.
Technologies used
Proven tools. No experiment.
- PHP
- Zend Framework 2
- PHPUnit
- Codeception
- Elasticsearch
- ML product recommendations
- Firebird
- MySQL
- AWS
- Bare Metal
- Jenkins
- CI/CD
- Apache
- Linux
- Grafana
- Logstash
Client voices
What clients say.
“Great collaboration! Mr Rutte modernized our old PHP shop quickly and reliably, brought it up to date and built in many sensible improvements along the way. Communication was uncomplicated, deadlines were met – absolutely recommendable.”
“Mr Rutte built a fully custom CRM for us, tailored exactly to our needs. Working together was straightforward. He implemented our requirements perfectly and the system runs absolutely stable.”
“Tim worked with us as a PHP developer and did a really good job. He got up to speed on the project quickly and always found a solution, even on tricky topics. The code was clean, easy to follow and genuinely moved us forward. We would work with Tim again any time.”
Frequently asked
What clients ask before deciding.
Why a custom shop instead of an off-the-shelf platform?
Because of the depth of integration. Inventory management, point of sale and store stock had to work together in real time, including in-store pickup. For that interlocking, every standard platform was either too rigid or more expensive to adapt than to build.
How did €20M revenue in the first year come about?
The retailer was already the offline market leader in its segment. The shop did not create new demand, it made existing demand serviceable: the full catalogue, real availability from inventory management, and pickup in store.
What did the ML recommendations actually deliver?
Around 10 percent more conversion, measured against a control group. More important than the model was data quality: without clean product attributes from inventory management no recommendation would have worked.
