The problem
The chat function at Lägenhetsbyte got added 20 years ago, a feature at the end of the journey only getting attention when updates broke it. Sadly, it modelled passive off-platform waiting, you wrote, and hopefully someone would be at the other end and we could drag you back with an email notification. For users desperate to swap, it produced frustration. For users with desirable apartments it awarded hoarding contacts. The dissonance between urgency levels on both sides of a match was structural, and no amount of notification optimisation was going to fix it.
The real problem
A home swap is simultaneously emotional and transactional, a life decision with legal steps, multi-party dependencies and fomo-timeline pressures that don't resolve with good visual design alone. The platform had trained users into the wrong behaviours over two decades, a repeating pattern as new users learned their own way through the journey and platform. Triangle swaps, where three parties are mutually dependent but asymmetrically motivated, added a hostage dynamic that a simple chat window had no language for. We quickly realised that testing a change this fundamental couldn't be A/B tested since any new match could pair users across cohorts adding complexity and decision weight to the project.
What I did
We rebuilt the chat into a guided swap journey, each stage prompted with contextual information, pre-generated conversation starters for new users, and status signals that told both parties where they were in the process rather than leaving them in an empty window waiting for someone to type. Failed matches weren't deleted but archived into a waiting state, a new third party could still make them viable, and removing them entirely taught users that dead ends were failures rather than pauses. In-person viewings are crucial to the success of a swap and similarly out of our control, but we could help with inviting, preparing and temperature check after a meeting was planned. Legal paperwork and follow-through was linked into the platform almost seamlessly, making completed swaps trackable where the journey had previously ended at a handshake and we guesstimated that swaps occured.
For users who never responded, rather than sending more notifications, we reduced the friction of disengagement. A single tap to archive with a contextual explanation. And similarly, the waiting party we took lower probability or slow-moving swaps out of focus. It's an ongoing battle against human nature and we didnt eradicate ghosting but it started to act more like an outlier pattern rather than a default behaviour.
Testing used a forced opt-in beta on a specific market with new users as a clean cohort, semi-pushing existing matched users into the new flow with explanations and tutorials on usage. Pre-change behavioural trends served as the baseline. Measured against: match-to-closure length, messages per successful chat, click-through on journey prompts, closure rate positive and negative, and saw positive movements in multiple areas.
What changed
Not every part was implemented to spec. But the shape of user behaviour changed across every metric we tracked a significant signal for us was that a relaunch of the app moved our rating from 1.2 to at the time of writing 3.8. In a volatile climate where success means 5 and everything else is a 1.
My role
Senior ux designer. Led product vision, journey design, behavioural research and measurement framework. Worked directly with a data scientist to pressure-test hypotheses and strip ideas to their load-bearing structure.