Media planning agency Wavemaker required a user experience for a new machine-learning powered media planning tool. By restructuring the interaction and architecture, we transformed a complex backend engine into a usable product that cut planning times from days to minutes.
Head of UX and lead creative on the project.
Led the research strategy and design phases. Owned the relationships with the target audience and client.
Wavemaker had built a powerful neural net able to run 100,000+ real-life simulations in seconds, but the interface usability was nearly impossible for average users.
Create an intuitive, coherent user experience that makes the powerful engine accessible, so planners can work fast, reliably, and confidently.
A powerful AI engine is only as good as its interface — by reimagining navigation, visual logic, and interaction workflows, we turned Wavemaker’s backend complexity into a tool that planners ask for, not avoid

Platform architecture.
Our first task was to restructure the product information architecture. Interviews and ride alongs with the media planners at Wavemaker helped inform how things should be strucutred in order to simplfy he existing workflow while keeping disruption and confusion out of the equation.
That structure was used to create a set of 6 different navigational components ensuring consistency across the various areas of the product (as seen below).


The Dashboard.
The dashboard was designed to be contextually aware. It ensured anything users might need for their day's work was close at hand, including things they might not even be aware of.

The project management view.
To the list of planned campaigns we added a calendar view inspired by music production tools such a Logic and Garageband, allowing the user to zoom in and out, quickly moving from day-by-day view to seeing everything that’s going on during a whole year, with all pertinent information and functionality no more than a click away.
The audience builder.
One of the bigger tasks was the audience formula builder, which used a bracket-style condition syntax familiar to most developers, and illegible to most non-developers. Today we'd most likely fall back on an agentic LLM to screate audiences, but at the time such things weren't publicly available, so instead we created a more human centric visual language to help users better understand the conditions.