All work
B2BPropTech

One page, three kinds of deal

Company
Crexi
Role
Sr. UX Designer, sole designer on the page
Scope
Sales, Lease and Auction listing pages
Users
Brokers and investors
Year
2022

The listing page is the most viewed page on a commercial real estate marketplace. Crexi’s read like a database record at a point when Zillow and Redfin had already set what a property page should feel like, and LoopNet, the direct competitor, had the same problem. The brief was to modernise it and increase the two actions that make Crexi money: messaging the broker, and downloading the marketing packet.

The listing page, top of the desktop view.
The same component layer holding across desktop, tablet and mobile.

Two decisions that shaped it

01

Absence is a state, not an empty slot

On a residential marketplace every listing has a price and an address. On a commercial one, often neither. Off-market listings hide the address deliberately, unpriced properties are a negotiating position rather than missing data, independent brokers have no brokerage logo, and portfolio listings are several properties in one record. I designed each absence instead of leaving a hole: the price slot becomes a prompt to contact the broker, the address becomes a radius on a map the seller can switch off, the brokerage lockup collapses to the individual, and portfolio listings get a selector inside the page.

02

Variation confined to one module

Sales, Lease and Auction carry different data and different urgency, but three separate pages triples maintenance and guarantees drift. The page is one shared component layer with variation isolated to a single module. Lease adds Spaces. Everything above and below it is identical across all three.

Price, address and brokerage identity, each with a designed absent state.

What happened

The redesign ran as an experiment against the existing page. Partway through, the org was restructured and ownership of the listing page moved. The format was never fully adopted. What I would defend anyway: the incomplete-data states were the right call, and they would be the right call on any marketplace where the record is supplied by a third party rather than the platform. A listing page that only works when every field is filled is a listing page that works for the minority of listings.

How I worked

Completion matrix

Every component tracked across desktop, tablet and mobile, with a separate column for whether it was linked in code, so parity between design and build was visible rather than assumed.

Edge case register

Portfolio, unpriced, off-market, no-address and independent-broker listings, each with a named owner, resolved with engineering before build.

Interviews and teardown

Zillow, Redfin and LoopNet pulled apart, then brokers and investors interviewed. One is selling, one is shopping, from the same page.

What I would change

I built for three transaction types and six intelligence modules before anything was validated on one. If I ran it again I would ship Sales alone, get the experiment read, and only then extend. The breadth is what made the work vulnerable when ownership changed. A single validated page is harder to abandon than a system nobody has proven yet.

Marketplace page that has to survive messy data?

Next: One design language for three products