Product Design | Case Study
2026
Simplifying UCLA subleasing

Role
Product Designer
& Frontend
Timeline
5 Weeks
Tools
Figma
Google Stitch
Claude Code
Collaborators
1 PM
1 PMM
The Problem
UCLA students struggle with subleasing, using platforms that weren't built for it.
Entering my third year, I needed summer housing for my first time outside a dorm. 2 weeks of Reddit threads, Facebook groups, and texting friends-of-friends, I found something. I got lucky and I knew it. I asked friends if they found a place, and kept hearing the same story with different details.

left to right — Facebook, ULoop, Reddit
No standardized apartment info. Posts are inconsistent in pricing, dates, room details, forcing constant back-and-forth just to get basics.
Platform switching is common. Students juggle Facebook groups, Reddit threads, Instagram stories, and word of mouth with little reliability.
Trust is always a concern. Communicating across informal channels with no verification adds anxiety to a process of high importance.
Process
With under 5 weeks to build, I owned design and prototyping end-to-end while my collaborators handled the backend. With limited capacity for user testing, I prioritized iteration and feedback rounds. Tight constraints shaped my flexible workflow.

Early layout exploration in Figma
Figma: wireframes, user flows, and component structure to establish hierarchy
Google Stitch: explored alternate information architectures to see what held up before moving into detail
Claude Code: built interactions and prototyped in real time, allowing for iteration. I was able to focus on creating a feeling
Vercel for deployment and testing on a more native iOS view
Design Decision
Condensing apartment info into a standardized format.
Based on research insights, I explored card layouts to communicate apartment details without being overwhelming. This is the first interaction with hundreds of listings, so conveying essential info without additional fluff is important.
research insights drove key changes
83% valued trust as their top priority → verified student badge on listings and messages, tied to edu email
price moved to top left pill, first things eyes notice when scrolling
students think in distance, not addresses → showing both together is intuitive
Design Decision
Reviews are sifted and displayed by default.
I added an independent layer with aggregated reviews, auto sifted on every listing to provide quick access to otherwise external information. Seekers are able to see real reviews without navigating lengthy forums.

Design Decision
Subleasing demand follows UCLA's academic calendar, not arbitrary calendar windows. One tap eliminates an initial barrier by filtering date ranges that work for you.
Selecting a quarter autofills exact move-in and move-out dates.
Design Decision
Guiding listing creation
Creating a listing requires a lot of manual selection. I landed on two listing flows that I would love to A/B test. While both have drawbacks, I landed on the stepped creation as it provides structure that reduces cognitive load by dividing sections.

single page creation

stepped creation
Solution
BruinLease is a dedicated subleasing platform built specifically for UCLA students. Digestible listings, quarter-based search, verified identities, and in-app messaging in one place.
Every listing captures the same upfront info, price, room type, distance, bathroom. Students don't need to ask for the bare minimum
Filtering by quarter, verified badges, familiar room terminology built around how UCLA students actually think
Property insights from Reddit and Bruinwalk are matched based on address, so seekers can vet a building before they reach out to a lister

Reflection
Verification works if scaled
Verified badges are meaningful callouts, filtering legitimate UCLA students. But right now, our backend only accepts ucla.edu emails. Without opening it to all, the badge adds visual and cognitive noise.
Minimalist doesn't mean boring
I prioritized information clarity. But the UI ended up flatter than I wanted, resulting in loose hierarchy. More visual texture would make the experience feel less like a prototype and more like a product, integrated seamlessly in the college student stack.
Prototyping real time closed the feedback loop
Using Claude Code, I found interaction problems quickly that would have taken longer to workaround in Figma. I could refine micro-interactions and visual details through real time code manipulation, despite a smaller background in code compared to design engineers or PMs. Not handing it off allowed me to explore more intentionally.
If I could do it differently
With a bigger time window, I would have ran usability tests to measure how long it takes listers to match with leasers, how friction is reduced or added, and feedback from a large user audience to help push iteration.


