Listings, agents, and clients in one searchable dashboard
The Problem
The agency's listings, agent assignments, and client follow-ups were scattered across shared sheets, email threads, and a slow legacy admin tool. Agents lost hours each week searching for the right property record, and managers had no real view of the pipeline. The task was to consolidate all of that into one searchable dashboard — and to design the interface before a single row of data was wired up.
Scope: full property management system with listings, agent and client tracking, a search-driven dashboard, and a design system that could be reused as the product grew.
Engineering
I built a small library of primitives — property card, agent tile, search bar, status pill — before assembling screens. This kept visual rhythm consistent across the four main views and meant design changes propagated everywhere with one edit.
Real estate inventory grows fast and listings get stale even faster. Search was the highest-leverage interaction, so the search bar lived at the top of every page with persistent filters — not buried in a 'find' menu. Most users landed here with a query already in mind.
I built the interface first with placeholder data, then wired it to the backend. This separated design decisions from schema decisions, kept the visual pass fast, and meant the UI never waited on database structure. The early placeholder data also made the demo feel real sooner.
Screens
Outcome
Built and shipped a full real estate management system: a search-first dashboard, a property listing module with filtering and detail views, an agents directory, and a clients panel with status tracking. The interface was designed before the backend was wired, which kept visual decisions independent of schema decisions and meant the UI shipped feeling finished, not provisional.