A Search and Merchandising engine is the bread and butter of any modern ecommerce software. Being able to target and personalise products to provide timely and relevant product results and suggestions is a proven strategy to increase conversion and loyalty. Our incumbent solution was giving the business reason to worry due to many factors. Below I walk through the ways we solved this problem.

Project details:
My roles & responsibilities:Product Strategy, User Experience
Techniques I used:Collaborative Workshop, Task Analysis, User Stories & Scenarios, Sketching, Prototyping (HTML, CSS, jQuery)
Tools I used:Pen, Paper & Post-it notes, MacBook Pro, Panic Coda

Our previous off-the-shelf search and merchandising software had been a problematic ride, due to multiple vendor changes over the years, poor support and finally going EOL. We needed to find a new supplier that would be flexible enough to cope with our less traditional ecommerce model. After much searching, comparison and product demos we (in-house technical IT, business users and external development team) decided that our best route forward would be to build a bespoke solution from the ground up, taking advantage of the many available open-source technologies that would enable us to build a solution that wouldn't be cost prohibitive.

My remit for this project was purely the UX - all about understanding our business and our marketing needs today and in the future. I would be creating a product spec and workflow that would work for some of the more unique features we would require. Along with the usual - previous purchase history and purchase patterns, demographics, ‘people who bought this also bought…’ etc etc, we also needed to understand and cater for a number of other elements. Individual pricing and product access, depot stocking policies, individual product lead times, delivery days and delivery routes, order cut-offs and a bunch of other esoteric variables that don’t really form part of a standard off-the-shelf solution would also be part of the mix.

As this was a product to be used in-house by my ecommerce team, I was very keen on it being the best bit of software they used and not only gave them a powerful set of marketing tools but also made the task of running promotions and the like as simple as possible. My thoughts being that if a last minute promotion to a small subset of users was easy to achieve it would happen. If the barrier to react to a fast changing brief was high, then the action was less likely to go live.

Design Strategy:

Being a completely greenfield project we weren’t constrained by existing workflows, but having used other products extensively the team were really well placed to pick and choose the things that worked on a day to day basis. This made my job a lot simpler as all I really had to do was tease these ideas into the open and unify them to create a coherent solution.

My strategy was to spend time workshopping with the team who would be using the tool. We were able to take existing needs and work through where the process could be improved - at first doing this without thinking about how this would play out in software. Essentially this process of divergent thinking gets as many ideas on the table as possible and gives a rich palette of ideas to work through.

Workshopping to generate and validate ideas
Workshopping to generate and validate ideas

From our ‘ultimate product’ it was a matter of layering on constraints (aka reality), a slice at a time - for this we bring ideas and assumptions into the real world, testing theories one at a time with an understanding of the actualities of day to day operations.

Once we had run through all of the above I would take away all of our research in order to spend time synthesising, working through ideas to arrive at a workable solution. Putting together all of the ideas in the workshop into a functional but lo-fi prototype that could be bought back into the group and be iterated on further, testing our assumptions along the way.

HTML prototype
The HTML prototype helped users of the new software validate different use cases and scenarios before writing a line of production code.

We used the prototype to run through the previous period's marketing requirements and simulated setting up each promotion, personalisation or initiative. Building on this groundwork we could design new ways of promoting products or personalising journeys in the future and run through how this would work in the new software.

Handover and Development:

After this phase we spent time with the development team to transfer our learnings and prototype. Through further discussions we finalised a spec and decided upon technologies that would power the software. Next up was reviewing the UI for any issues and signing off the project for development.

Finished software
Finished software interface
User Testing:

Working iteratively in a (small 'a') agile way, the software was constantly being tested by real end users - the people who would rely on the product every day. The digital team working closely with our internal QA, heavily tested the build, both in terms of real world usage and for software defects as the product came to life, tweaking if any issues came to light in iterative feedback loops.


Today: The software powers all of our search, merchandising and personalisation needs. In fact we’re currently 'in development' again with more of our initial ideas and functionality that didn't make the original MVP. The team are already dreaming up creative ways to put the enhancements to use. I can't wait to see what they do with it!