Reducing advisor workload by 50% through autonomous food customisation

Reducing advisor workload by 50% through autonomous food customisation

Problem

Suppliers couldn’t set up or edit dish customisations themselves—they had to contact the commercial team every time they needed a change. This created delays, added operational overhead, and limited their control over their own menus as the platform grew.

Suppliers couldn’t set up or edit dish customisations themselves—they had to contact the commercial team every time they needed a change. This created delays, added operational overhead, and limited their control over their own menus as the platform grew.

Solution

We built a flexible, easy-to-use tool that let suppliers manage their own dish options, reducing commercial team workload by 50% and improving both supplier autonomy and customer experience.

Solution

We built a flexible, easy-to-use tool that let suppliers manage their own dish options, reducing commercial team workload by 50% and improving both supplier autonomy and customer experience.

Solution

We built a flexible, easy-to-use tool that let suppliers manage their own dish options, reducing commercial team workload by 50% and improving both supplier autonomy and customer experience.

My role

Product Designer

My role

Product Designer

My role

Product Designer

Company

Mercado Libre

Company

Mercado Libre

Company

Mercado Libre

Date

2022

Date

2022

Date

2022

Problem

What were we trying to solve?

What were we trying to solve?

As our food delivery platform scaled, it became clear that food suppliers (B2B) needed a way to offer dish options—like choosing the type of bread or add-ons—directly through the app.

At the time, the commercial team was manually configuring these options on behalf of suppliers through a backoffice tool. This process wasn’t sustainable:

As our food delivery platform scaled, it became clear that food suppliers (B2B) needed a way to offer dish options—like choosing the type of bread or add-ons—directly through the app.

At the time, the commercial team was manually configuring these options on behalf of suppliers through a backoffice tool. This process wasn’t sustainable:

It created operational bottlenecks and wasted commercial team resources.

It created operational bottlenecks and wasted commercial team resources.

Suppliers had no control and had to wait to make simple updates.

Suppliers had no control and had to wait to make simple updates.

It introduced delays that could affect the customer experience when the wrong options were shown or orders were misconfigured.

It introduced delays that could affect the customer experience when the wrong options were shown or orders were misconfigured.

‘I need to be able to update those options myself so I can save time’

‘I need to be able to update those options myself so I can save time’

🎯 The goal was to build a self-serve experience where suppliers could independently add and manage dish options.

🎯 The goal was to build a self-serve experience where suppliers could independently add and manage dish options.

Hello, this is John from McDonald’s menu management team. We need to add fries as a side option for the Big Mac combo on the app.

Could you help with that?

Hi John, no problems at all.

We’ve just added that for you.

Hi John, no problems at all.

We’ve just added that for you.

Solution

Created a self-serve funnel enabling supplier autonomy

Created a self-serve funnel enabling supplier autonomy

We created a simplified funnel that let suppliers manage their own dish options, eliminating the need for commercial team involvement.

The complexity came from needing to support different rules—some options allowed only one selection (e.g., type of bread), while others allowed multiple (e.g., extra toppings). The tool had to be flexible yet easy to use.

We created a simplified funnel that let suppliers manage their own dish options, eliminating the need for commercial team involvement.

The complexity came from needing to support different rules—some options allowed only one selection (e.g., type of bread), while others allowed multiple (e.g., extra toppings). The tool had to be flexible yet easy to use.

The commercial team reduced their operational load by 50%

The commercial team reduced their operational load by 50%

The process

How did we do it?

How did we do it?

01

02

03

04

05

Step 1

Step 1

Step 1

Understand the problem

Understand the problem

Understand the problem

Step 2

Design the solution

Design the solution

Step 2

Design the solution

Step 3

Step 3

Validate and iterate

Validate and iterate

Step 3

Validate and iterate

Step 4

Step 4

Refine scope

Refine scope

Step 4

Refine scope

Step 5

Step 5

Implement

Implement

Step 5

Implement

Step 1

Step 1

Understand the problem

Understand the problem

Suppliers didn’t have access to manage their own customisations. Instead, they had to rely on the commercial team to do it manually through the backoffice.

Suppliers didn’t have access to manage their own customisations. Instead, they had to rely on the commercial team to do it manually through the backoffice.

Hello, this is John from McDonald’s menu management team. We need to add fries as a side option for the Big Mac combo on the app.

Could you help with that?

Hi John, no problems at all.

We’ve just added that for you.

This process was inefficient, time-consuming, and created a bottleneck every time a supplier needed to make a change.

This process was inefficient, time-consuming, and created a bottleneck every time a supplier needed to make a change.

This process was inefficient, time-consuming, and created a bottleneck every time a supplier needed to make a change.

!

Mapping the customisation setup

Mapping the customisation setup

To define the requirements, I analysed how the commercial team was setting up customisations. This helped me understand what information suppliers needed to provide and how they were structuring their options.

To define the requirements, I analysed how the commercial team was setting up customisations. This helped me understand what information suppliers needed to provide and how they were structuring their options.

Required vs. optional

Required vs. optional

Some customisations were optional, while others were required for the customer to complete their order.

Quantity

Quantity

In some cases, users could only select one option.

In others, they could choose multiple.

There were even cases where they could select more than one of the same option.

The allowed number of selections also varied depending on the case.

Repeated groups

Repeated groups

I also discovered that in some cases, different products were using the exact same customisations.

Understanding repetition frequency

Understanding repetition frequency

To understand how common this behaviour was, I analysed the menus of 20 restaurants, focusing on how often groups were repeated and whether their prices were edited when reused.

To understand how common this behaviour was, I analysed the menus of 20 restaurants, focusing on how often groups were repeated and whether their prices were edited when reused.

From this analysis, I drew two key conclusions:

Repeating groups and options is a very common practice, so it was essential for our platform to support this feature.

The number of repetitions and variations in pricing differ significantly between users, so the best approach was to design an experience flexible enough to cover all use cases.

From this analysis, I drew two key conclusions:

Repeating groups and options is a very common practice, so it was essential for our platform to support this feature.

The number of repetitions and variations in pricing differ significantly between users, so the best approach was to design an experience flexible enough to cover all use cases.

Competitors’ analysis

Competitors’ analysis

Before defining how our flow should work, I analysed how competitors handled similar scenarios. This helped me understand common patterns and usability approaches we could consider.

Before defining how our flow should work, I analysed how competitors handled similar scenarios. This helped me understand common patterns and usability approaches we could consider.

Before defining how our flow should work, I analysed how competitors handled similar scenarios. This helped me understand common patterns and usability approaches we could consider.

Rappi

Rappi

Uber Eats

Uber Eats

iFood

iFood

Comparison

Comparison

Rappi

Uber eats

iFood

Group name

Required or optional

Minimum quantity

Maximum quantity

Maximum quantity per option

Name

Description

Picture

Price

Category

PDV code

Sell item on its own?

Tax rate

Item out of stock?

Item temperature

Step 2

Step 2

Design the solution

Design the solution

I began by creating wireframes to collaborate with the team and determine what information we needed to collect in the funnel—and how best to do it.

I began by creating wireframes to collaborate with the team and determine what information we needed to collect in the funnel—and how best to do it.

Name

Name

Name

This is the name displayed to buyers.

Rules

Rules

Rules

These rules determine how buyers can select options.

Internal name

Internal name

Internal name

Users might have different versions of the same group (for example, different sides options for different products). This field helps them differentiate between groups that share the same buyer-facing name.

Options

Options

Options

These are the choices users can select. Each option includes additional settings:

  • Title (required)

  • Description (optional)

  • Price (required, but can be set to 0)

  • Photo (optional)

These are the choices users can select. Each option includes additional settings:

  • Title (required)

  • Description (optional)

  • Price (required, but can be set to 0)

  • Photo (optional)

Grouping and interaction

Grouping and interaction

I realised there was a lot of information to complete, so I decided to group it into three steps. To avoid overwhelming the user, only one step is displayed at a time.

I realised there was a lot of information to complete, so I decided to group it into three steps. To avoid overwhelming the user, only one step is displayed at a time.

Options details

Options details

To simplify the interface, I decided to add options details in a modal, reducing the number of fields shown at once.

To simplify the interface, I decided to add options details in a modal, reducing the number of fields shown at once.

High fidelity designs

High fidelity designs

The funnel begins from an already created product.

The funnel begins from an already created product.

Users land on a page showing all the customisation groups linked to that product.

From there, they can edit existing groups or add new ones.

Users land on a page showing all the customisation groups linked to that product.

From there, they can edit existing groups or add new ones.

When adding a new group, users enter a micro-funnel with three steps to guide them through the setup process in a structured and manageable way.

When adding a new group, users enter a micro-funnel with three steps to guide them through the setup process in a structured and manageable way.

To create a new option, a modal opens—allowing users to focus solely on that task without distraction.

I chose to leave the price field outside the option setup because options can be reused across groups, but prices might vary depending on the context.

To create a new option, a modal opens—allowing users to focus solely on that task without distraction.

I chose to leave the price field outside the option setup because options can be reused across groups, but prices might vary depending on the context.

Other features

Other features

In addition to the core experience, we introduced features designed to help users save time when creating a product.

In addition to the core experience, we introduced features designed to help users save time when creating a product.

Reuse customisations

Reuse customisations

We know suppliers often use the same customisations across multiple products. To save time, users can apply an existing customisation to another product.

We know suppliers often use the same customisations across multiple products. To save time, users can apply an existing customisation to another product.

Duplicate customisations

Duplicate customisations

If a customisation group is very similar—but not identical—to an existing one, we offer users the option to duplicate it and create a new version.

If a customisation group is very similar—but not identical—to an existing one, we offer users the option to duplicate it and create a new version.

Reorder customisations

Reorder customisations

The order in which suppliers see customisations matches the order buyers see them. Suppliers can control the display order to optimise the buyer’s experience.

The order in which suppliers see customisations matches the order buyers see them. Suppliers can control the display order to optimise the buyer’s experience.

Step 3

Step 3

Validate and iterate

Validate and iterate

To validate the final designs, I proposed usability testing with restaurant staff already using food delivery apps.

We tested with 6 users, focusing on friction points in the customisation flow, understanding of shared customisations, and the most intuitive order for setting rules.

To validate the final designs, I proposed usability testing with restaurant staff already using food delivery apps.

We tested with 6 users, focusing on friction points in the customisation flow, understanding of shared customisations, and the most intuitive order for setting rules.

Key findings

Key findings

Unclear naming

Unclear naming

We initially used the term complements, but users found it confusing.

To dig deeper, we ran a separate study where participants were shown examples and asked what they would call those elements. The most common response was customisations, so we adopted that term for better clarity and alignment with user expectations.

!

!

!

!

Confusion around shared customisations

Confusion around shared customisations

Users didn’t realise that editing a shared customisation would update it across all linked products.

We first tried showing a banner to explain this, but users consistently missed it.

To ensure they understood the impact, we replaced the banner with a confirmation modal that prompts users to confirm before making changes.

!

!

!

!

Order of steps

Order of steps

To test the ideal order, we showed half of the users the flow starting with the customisation options and the other half starting with the rules.

The version that showed rules first was consistently seen as more intuitive and easier to follow, so we decided to adopt that order in the final design.

!

!

!

!

Step 4

Step 4

Refine scope

Refine scope

Adapting to constraints

Adapting to constraints

Mid-project, most developers were reassigned to another project, so we had to release a reduced version within the same timeline.

We focused on maintaining the buyer experience, even if it meant reducing functionality for sellers.

Mid-project, most developers were reassigned to another project, so we had to release a reduced version within the same timeline.

We focused on maintaining the buyer experience, even if it meant reducing functionality for sellers.

We made strategic trade-offs to protect the buyer experience and ensure timely delivery

We made strategic trade-offs to protect the buyer experience and ensure timely delivery

Removed: Duplicate feature

Removed: Duplicate feature

Users must now create similar groups from scratch. It's a one-time inconvenience, but the development cost outweighed the benefit.

Users must now create similar groups from scratch. It's a one-time inconvenience, but the development cost outweighed the benefit.

Removed: Reorder feature

Removed: Reorder feature

Reordering wasn’t critical to the experience—customisations still work as expected without it.

Reordering wasn’t critical to the experience—customisations still work as expected without it.

Simplified: Group creation

Simplified: Group creation

Reduced option details to just Name and Price (no more image or description).

Removed the internal name field—users must now use a single, clear name.

Defaulted to allow repeated selections, without asking.

Consolidated all steps into a single card to simplify the flow.

Reduced option details to just Name and Price (no more image or description).

Removed the internal name field—users must now use a single, clear name.

Defaulted to allow repeated selections, without asking.

Consolidated all steps into a single card to simplify the flow.

Full version

Full version

MVP

MVP

Step 5

Step 5

Implement

Implement

We launched the MVP version to users. Even without all the features we initially planned, it successfully met their needs and allowed them to manage customisations on their own.

This shift to self-serve reduced the commercial team’s operational workload by 50%.

We launched the MVP version to users. Even without all the features we initially planned, it successfully met their needs and allowed them to manage customisations on their own.

This shift to self-serve reduced the commercial team’s operational workload by 50%.

Learnings

Learnings

🌱

Users value control and independence

🌱

Users value control and independence

Users preferred having the freedom to manage their own customisations rather than relying on internal teams. Giving them the tools to do it themselves not only improved their experience but also reduced dependency and internal operational costs.

💡

Simplicity drives adoption

💡

Simplicity drives adoption

Even without all the advanced features we initially envisioned, users were able to complete their tasks effectively. Prioritising core functionality and clear flows proved more valuable than building every “nice-to-have” from the start.

🧐

Users don’t read—design for visibility

🧐

Users don’t read—design for visibility

Important information like the shared group warning was initially overlooked when placed in a banner. Replacing it with a confirmation modal made the message unavoidable. Critical content must be embedded into the flow, not just displayed.

Back to top