Business admin redesign

A redesign of Weedmaps' business management site, addressing a decade of tech debt, inconsistencies, and noncoherent structure.

Before

After

Siloed sections, Frankenstein site

The site was built section by section in silos, with no shared system holding pages together visually or functionally.

Pages aligned by design system

Built a B2B design system from the ground up, with flexible-but-consistent patterns

No self service

Flows were convoluted enough that self-service wasn't real, clients defaulted to calling support to make changes.

Simplified flows, more self service

Replaced support calls with real self-service. Guided integration setup and consolidated settings tools meant clients could make changes themselves instead of picking up the phone.

No guidance

Once inside admin, there was no orientation or visibility into status, no guidance on what to do next.

Onboarding and status updates

Gave admin a front door: a dashboard surfacing live status, analytics snippets, and a dynamic content feed to guide first-time users.

Before

Pages aligned by design system

Built a B2B design system from the ground up, with flexible-but-consistent patterns

Simplified flows, more self service

Replaced support calls with real self-service. Guided integration setup and consolidated settings tools meant clients could make changes themselves instead of picking up the phone.

Onboarding and status updates

Gave admin a front door: a dashboard surfacing live status, analytics snippets, and a dynamic content feed to guide first-time users.

After

The process

Scope

The scope of this project would change overtime, leading to some aspects being dropped, but ultimately the entire site was to be reimagined.

01

Dashboard / Home

02

Orders

03

Delivery

04

Menus

05

Products

06

Discounts

07

Customers

08

Analytics

09

Advertising

10

Online store

11

Team management

12

Integrations / Apps

13

Settings

14

Billing

Auditing

As with my other redesign projects, I started with an audit, cataloging each pattern out in the wild. Since each surface of admin was developed on its own, there was quite a bit of redundant patterns.

I also looked at the existing work flows and represented them with a chart, allowing for structural improvements to be quickly recognized.

Auditing

As with my other redesign projects, I started with an audit, cataloging each pattern out in the wild. Since each surface of admin was developed on its own, there was quite a bit of redundant patterns.

I also looked at the existing work flows and represented them with a chart, allowing for structural improvements to be quickly recognized.

Structure

After looking at the exiting work flows, it was clear there was a structural problem with the site. Some sections operated as a global organization view, while a good portion of listing-related views were stuck under the context of a single location.

A global roll-up became the default for each section. Whether it be the client's products, customers, or analytics, they could get the information in the context of their business as a whole.

To complement this functionality, user could also filter down to selected locations for a scoped view. User could view information for all, a few, or a single location. This flexible functionality allowed us to better serve clients by matching their user type.

Structure

After looking at the exiting work flows, it was clear there was a structural problem with the site. Some sections operated as a global organization view, while a good portion of listing-related views were stuck under the context of a single location.

A global roll-up became the default for each section. Whether it be the client's products, customers, or analytics, they could get the information in the context of their business as a whole.

To complement this functionality, user could also filter down to selected locations for a scoped view. User could view information for all, a few, or a single location. This flexible functionality allowed us to better serve clients by matching their user type.

Global roll-up

Scoped location view

I also looked at breaking out pieces of existing sections into more logical work flows. Orders and delivery work flows were previously under a single main nav item. By having them as their own sections, it was much clear what kind of work would be done under each, user would no longer have to remember where a piece of functionality was tucked away.

"Dispatch"

Orders

Delivery

One last core structural problem was how we handled out settings. There was no consistent place to find settings, and clients had to do some exploring to find the toggle they wanted to turn off. By consolidating all our different settings under the umbrella of a settings page, we established a consistent area for any settings to live.

This helped reinforce the navigational structure of the site: each main nav item represented the kind of work that clients would be doing inside it.

Location / settings

Location / menu / settings

Delivery / settings

Fulfillment / notifications / settings

Brands / brand / settings

Settings

User types

Admin had previously treated every user the same, showing one person and a business owner the exact same set of pages. The new navigation structure made it possible to scope views by role, business owners and location managers, for example, see only what's relevant to their work.

User types

Admin had previously treated every user the same, showing one person and a business owner the exact same set of pages. The new navigation structure made it possible to scope views by role, business owners and location managers, for example, see only what's relevant to their work.

01

Business owner

02

Brand owner

03

Marketing manager

04

Location manager

05

Delivery dispatcher

06

Budtender

07

Internal users

Design system

As you may have guessed by now, the siloed development of the original admin had no consideration for a design system.

With this update, we could establish a source of truth and get some much needed consistency.

Base tokens for colors, type, spacing, effects, and corners were established, and then a set of resuable components was made.

Design system

As you may have guessed by now, the siloed development of the original admin had no consideration for a design system.

With this update, we could establish a source of truth and get some much needed consistency.

Base tokens for colors, type, spacing, effects, and corners were established, and then a set of resuable components was made.

Dashboard

Weedmaps admin formerly would drop the client right on their locations table. There was no guidance or handholding, and any onboard was done through a lengthy call with customer support.

By adding a dashboard page, we could surface content that could introduce the user to concepts, or guide them to take specific actions.

Analytics snippets gave a path to the larger analytics page, and the real time status of in progress orders and deliveries were displayed. A feed of suggested actions (And a few upsells) helped clients see more success, and helped Weedmaps with higher quality listings.

Dashboard

Weedmaps admin formerly would drop the client right on their locations table. There was no guidance or handholding, and any onboard was done through a lengthy call with customer support.

By adding a dashboard page, we could surface content that could introduce the user to concepts, or guide them to take specific actions.

Analytics snippets gave a path to the larger analytics page, and the real time status of in progress orders and deliveries were displayed. A feed of suggested actions (And a few upsells) helped clients see more success, and helped Weedmaps with higher quality listings.

The inclusion of a global search let clients jump straight to what they needed, whether a listing, order, or setting, without drilling down through sections to find it.

The inclusion of a global search let clients jump straight to what they needed, whether a listing, order, or setting, without drilling down through sections to find it.

Analytics

There was no analytics page available at first. Like most things on the site, clients had to rely on a customer support call or a monthly report emailed to them.

Adding an analytics page gave clients the ability to easily access this information and see the value of using Weedmaps.

The initial version of analytics shipped with only a few data points, but the system established allowed us to scale the page as we became more confident in what we shared.

Analytics

There was no analytics page available at first. Like most things on the site, clients had to rely on a customer support call or a monthly report emailed to them.

Adding an analytics page gave clients the ability to easily access this information and see the value of using Weedmaps.

The initial version of analytics shipped with only a few data points, but the system established allowed us to scale the page as we became more confident in what we shared.

Integrations

Point of sale integrations were the preferred way to use the platform, but setting one up was a convoluted process that varied by POS and was buried out of sight. Other types of integrations lived in tucked away corners of the app, with no consistent pattern.

The new Apps section housed all connected integrations, serving as a hub to manage and check the status of them. Drilling into an integration allowed the user to update any necessary parameters, such as locations.

Aside from managing integrations, there was a lack of information them in general. It was hard to tell what was and wasn't supported. By adding a "Find apps" section, we were able to inform the user of every integration that we supported.

Integrations

Point of sale integrations were the preferred way to use the platform, but setting one up was a convoluted process that varied by POS and was buried out of sight. Other types of integrations lived in tucked away corners of the app, with no consistent pattern.

The new Apps section housed all connected integrations, serving as a hub to manage and check the status of them. Drilling into an integration allowed the user to update any necessary parameters, such as locations.

Aside from managing integrations, there was a lack of information them in general. It was hard to tell what was and wasn't supported. By adding a "Find apps" section, we were able to inform the user of every integration that we supported.

Settings

Housing settings under a single nav item gave clients one consistent place to look. Global settings prevented repeat work across locations, with the option to override at the individual level when something needed to be different.

Settings

Housing settings under a single nav item gave clients one consistent place to look. Global settings prevented repeat work across locations, with the option to override at the individual level when something needed to be different.

What shipped

Not every piece of this redesign made it to production, but the parts that shipped, the design system, dashboard, analytics page, and integrations hub, are built and live today.

The clearest signal came from support: once the guided integrations setup and self-service settings changes rolled out, customer success saw a drop in calls related to both, clients who previously needed help connecting a POS or updating account details were able to do it themselves.

While not every feature we wanted was able to be built, the work done here ultimately became the foundation the rest of the team built upon.

What shipped

Not every piece of this redesign made it to production, but the parts that shipped, the design system, dashboard, analytics page, and integrations hub, are built and live today.

The clearest signal came from support: once the guided integrations setup and self-service settings changes rolled out, customer success saw a drop in calls related to both, clients who previously needed help connecting a POS or updating account details were able to do it themselves.

While not every feature we wanted was able to be built, the work done here ultimately became the foundation the rest of the team built upon.