Rethinking listing statuses

Changing our workflow model to match our users'

About the project
Over the course of 5 months, we completely re-structured a core component of our software--listing status--to better match how our users' actually did their work. After making this change, users were much happier and support requests decreased.

Quick Summary

The problem

Our listing statuses were confusing and did not represent the way brokers actually work

The solution

Re-structure our statuses to match user's workflow + make all functionality clearer.

The journey

2 rounds of designing and user feedback before a widespread rollout of the feature

Results

An overwhelmingly positive user reaction + decreased support tickets for our client services team.

Quick Summary

In 2023, Buildout's core leadership decided that there was a potential opportunity in matchmaking brokers and buyers who were looking to sell and buy listings off-market, respectively.

The problem

Brokers want to find buyers to sell to off-market, but don’t have a great way to find buyers outside of their personal network.
Buyers have a hard time finding off-market listings outside of their personal network.

The solution

Create a matchmaking service to pair brokers and buyers who are interested in buying and selling off-market listings

Results

Our changes made a huge difference and we eventually found decent product-market fit with improved and stable user adoption. App usage was good enough start building a mobile app for the product--Buildout's first.

Results

Our changes made a huge difference and we eventually found decent product-market fit with improved and stable user adoption. App usage was good enough start building a mobile app for the product--Buildout's first.

Full Case Study

The project
Buildout is commercial real estate software that helps brokers market their listings more efficiently. For this project, we sought to re-vamp our concept of listing status.

Listing status represents where a property listing is in the marketing pipeline—from just starting (“proposal”) to just sold (“closed”).

The way our listing status functioned, however, was very specific to the needs of Buildout’s first users rather than the workflow of most of its current users. Therefore, we set out to make a status that worked better for everyone.

My Role
Lead UX Designer
Lead UX Researcher
Lead UI Designer
Team
1 UX Designer
1 Project Manager
2 Developers
Tools
Figma
FigJam
Pendo
Internal tracking

Our Problems

Brokers want to find buyers to sell to privately, but don't have a great way to find those buyers
Brokers want to find buyers to sell to privately, but don't have a great way to find those buyers

The Solution

Create a matchmaking service to pair brokers and buyers who are interested in buying and selling off-market listings

Project Timeline

This is the H1 title

H1 titles are ignored in the table of contents. We always start the table of contents links with H2.

The best part about H2 elements

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

H3 is one number lower than H2

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

I'm an H4 chilling under an H3

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

And now back to H2

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

H3 is one number lower than H2

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

I'm an H4 chilling under an H3

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

H5 is very rare

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

and H6 is a unicorn!

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

Another H2 here

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

H3 is one number lower than H2

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

I'm an H4 chilling under an H3

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila! Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

Context

How does a commerical real estate deal work?

If you’re a commercial real estate broker, you make money by closing deals. However, closing the deal is the very last part of the process. What comes first is a lot of prospecting, marketing, and paperwork.

A broker's workflow

  1. Search for people who are looking to sell property
  2. Pitch themselves as the best person to represent the property
  3. Find a buyer for that property
  4. Oversee the final agreements between buyer and seller
  5. Close the deal
  6. Profit

Our focus

For this project, we wanted to make sure that anything we built corresponded to the above workflow. We should be matching their behavior rather than them fitting their behavior to our software.

Discovery

Are all of our users' workflows the same?

For years, we heard our statuses were confusing, so our product team had ideas for improvement. But we wanted to validate these instincts and identify any blind spots or overlooked workflows. Therefore, we reached out to users from a variety of different company types.

Questions

Responses

Our findings confirmed that there was a consistent workflow across commercial real estate companies across size, type, and region.

A second discovery

Through this research, we also learned of two other problems relating to how users market their listings:

We didn't support a critical use case--Private marketing

Listing status controlled marketing abilities

We figured that all of these problems could be solved with one solution—although it would be a large-scale structural change to the software. Therefore, we used this user feedback to convince leadership to sign-off on such a large undertaking.

Definition

What would make this project successful?

To make sure we were both making a difference and keeping it simple, we defined 3 crucial design goals for the project.

Project Goals

1

Make Buildout statuses match how brokers actually worked

2

Give users more granular control over their marketing

3

Increase clarity

Let’s get to work!

Fixing the workflow

With these goals in mind, I began work on a solution, starting with the workflow. Our current statuses had two main problems that did not match a broker’s ideal workflow:

Separating marketing and listing behavior

Next, I thought it would be best to separate any marketing behavior from listing status. Therefore, I created a new field called Marketing Visibility. This allowed users to clearly delineate between deal controls and marketing controls.

More granular marketing control

I also wanted to add support for granularly selecting where you want your listing to be published to upon saving this form. Currently, we would send it to all the listing sites you had connected in your Syndication page. However, this page was on an entirely different screen in the app AND people often wanted more granular control for each listing.

Therefore, I added the ability to toggle sites on and off right from this screen.

Adding clarity

My final tweak was to improve up the interface as a whole to give users more information about what each status or selection means. This would hopefully eliminate user confusion and make for a much more pleasant experience.

Prototype - Version 1

Additional tweaks

We brought this prototype back to the users we talked to initially to get their feedback. After talking to them we realized two things could still be improved:

Match the pipeline visually

In trying to prioritize as much description text as possible, I originally used a vertical layout. It turns out, users wanted to see statuses in a horizontal view that matched their pipeline flow:

Simplify the marketing channels

By re-structuring this form into a flow, we made users choose a "Public", "Semi-public" or "Private" marketing channel. Then, we showed those channels as options once they made that choice. We realized we could save a click and just show all the channels and add labels to each channel instead:

The final version

Results

After making these final iterations, we launched this feature in too all of our users. The response was overwhelmingly positive and, unlike some feature releases, we did not receive any requests to revert to the old version.

In addition to anecdotal user happiness, there were some core metrics that proved the success of this project:

66% decrease

in support tickets related to listing status

34% decrease

in support tickets related to marketing controls

90% decrease

in custom field development work relating to statuses

Lessons learned

1

Rip off the band-aid

Stakeholders were originally hesitant to change listing statuses, but quick fixes didn’t solve user issues. A full workflow overhaul finally delivered the desired results.

2

Don't try to fit a square peg into a round hole

Our old statuses caused confusion and frustration by forcing brokers to adapt to our workflow. Success came when we aligned our workflow with theirs.

3

Clarity throughout the app

It's obvious, but users have a better experience when they understand the app. This project pushed us to add more explanations elsewhere in the app and ensure every design was clear without prior knowledge or training.