Soho Works — a member portal for booking across "houses."
Acting as a design-team extension reporting to Soho Works' creative director in London, I redesigned the member portal that handles room reservations, events, and member workflow across their global locations.
Snapshot
What I shipped
Problem
Members couldn't easily see what was available across multiple Soho Works locations. Booking varied screen by screen. Filters didn't carry between pages.
What I did
Mapped existing UX flows. Designed a unified timeline for 24-hour availability. Rebuilt booking to scale to equipment + studios. Redesigned the cross-page filter for browser-native consistency.
Outcome
Members got a single source of truth for what was bookable, where, and when. Filters persisted across the journey. Design system aligned to the broader Soho House brand language.
The hard problems.
24-hour availability without crippling page load.
Showing a full day's bookable windows across multiple rooms is bandwidth-heavy and a layout puzzle. The solution paired a chunked-by-hour timeline with virtualized rendering on the frontend — visible windows fully resolved, off-screen blocks stubbed until scrolled into view.
A cross-page filter that respects browser native quirks.
The filter (date/time/location) needed to apply on selection without a Submit click, while behaving correctly across native picker implementations on each browser. The pattern: a single source of truth in localStorage, an in-page filter that hydrates from it, and a debounce-on-change apply.