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.


Two decisions that shaped it
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.
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.

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.