00 Mattia Fregola

Overview

Intro

Table of contents

This is the Foodbomb product that suppliers use to manage their orders and produce line.

When I joined Foodbomb the product was based on a legacy CMS (something called OpenCart).

After we cleaned up the venues shop , together with the front-end team, we redesigned this existing product almost from scratch by simply implementing TNT , our UI library .

Summary

This is the Foodbomb product that suppliers use to manage their orders and produce line.

When I joined Foodbomb the product was based on a legacy CMS (something called OpenCart).

After we cleaned up the venues shop, together with the front-end team, we redesigned this existing product almost from scratch by simply implementing TNT, our UI library.

As we did with the venues shop, we started from existing flows and reviewed every bit to include micro-UX-improvements.

Problem

  • The product was pretty far from great here's what it looked like
โš ๏ธ
WARNING! The following content may contain elements that are not suitable for aesthetically sensitive audiences.
Our legacy CMS ๐Ÿคข

Team

For this project I teamed up with the whole engineering team as the legacy CMS was particularly ๐Ÿ’ฉ on both back and front end. Together with the team, I've organised a number of stakeholder interviews to have a shared and granular understanding of the platform.

Process

As with the venues shop, I started by cleaning up the Information Architecture (via card sorting exercises with stakeholders). On this occasion though, as this app has many more flows and a much larger code base, we came up with a little trick to release small bits of work. ๐Ÿง›

The trick consisted in starting to develop the new shiny react app (screen to the left) that would be our big release including substantial Information Architecture changes, while injecting the same pages in the legacy CMS in an <iframe> ๐Ÿ˜‡

This allowed us to deliver value to our customers, while giving us enough time for throughly testing (both with internal stakeholders and with our users) our shiny React App.

Legacy CMS vs New React App

Launch

With the team now comfortable with preparing product marketing materials, all I had to do was support creating some of the content and coordinate the efforts between marketing and engineering, ensuring all the comms would go out to the internal stakeholders first (especially giving the heads up to customer support), and to our customer both via email and our live chat on the website.

Here is the email we've sent to our customers.

While here is the internal comms documentation.

๐Ÿ’ก Why we are doing this?

Upgrading custom prices is a roadmap item โ†’ Helping us to build the most powerful ordering platform in the world!

  • Removing tech debt from open cart to enable future features to be built
  • Enable editing of existing custom prices (pain point)

โ“ What products are affected?

๐Ÿšš Supplier portal

  • Custom pricing page (new page)
  • Products index page (restyling and inline editing ability)
  • Product (add / edit) page
  • Orders index page (restyling and bulk download invoices, packing slips, purchase orders)
  • Loom Video

๐Ÿšš What's new for Suppliers?

  • A superior experience for Custom Pricing โšก๏ธ (see Loom video)
  • Suppliers will not be able to add custom pricing for customers who haven't ordered for them yet

๐Ÿ’ฃ What's new for Foodbomb staff?

  • Our staff will be able to setup custom pricing for customers who haven't ordered from a supplier yet (see Loom video)
  • Dan will receive emails if a supplier (not admin) modifies or deletes an existing custom price

๐Ÿ‘ฉโ€๐Ÿณ What's new for Venues?

  • Nothing! Custom pricing will continue working as it currently does.

๐Ÿค” FAQs

How many custom prices can a supplier have?

  • As many they want!

What happens if a product is on special and also has a custom price?

  • The cheapest price will be selected and applied.

How can a supplier add a custom price for a customer that has not purchased from them yet?

  • They can't. They are invited to contact Foodbomb staff and we can do it for them while masquerading.
    (This is in order to prevent suppliers from gaining visibility of our entire customer database)

What happens to custom prices if a product price is changed?

  • The custom price remains as is, however, the user is notified that the product has custom prices and are invited to manage them

What happens to custom prices if a product price is changed through the CSV uploader?

  • Nothing for now. We are already working on displaying notifications

Results

We launched the new product on and within 24h our customers (the suppliers) reached out to the team with great enthusiasm.

Hey Paul, the new platform is awesome! Thanks!
New platform is sooooo gooood! keep it up guys!

We only had one major complaint about a feature we decided to remove and required a hot-fix. Other than that, everyone's been happy!

Continuous improvement

Since may, we've already launched 2 new features onto the platform, enabled NPS (as of we are sitting happily at 58), and implemented qualitative tracking (hotjar). We'll keep up our research, to understand how to best help our users achieve their goals, and build more and more features to make them happy. ๐Ÿ’š

Keep moving

Back to portfolio