Kashish
Joseph
Naidu
📍 Sydney, AU

Loco.com

Loco is a live-streaming platform that was expanding from India into 7 regions and refreshing its entire app. I designed the onboarding flow to get new users to live content in fewer steps. I was the sole designer on the feature, working with one PM and about three engineers, and it shipped in January 2025 with the app refresh.

A leaky bucket: onboarding for a surge of installs

As acquisition spend scaled, new users faced a multi-step setup (languages, categories, streamers) before seeing any live content. The brief came from leadership and the product team: shorten the distance between install and a live stream.

I owned the onboarding and profile-setup flow: user flows, alternative concepts, default logic, high-fidelity UI and engineering handoff. I didn't own the Amplitude setup, the acquisition campaigns or the brand identity (by Design Studio London). I did this work in Sept to Oct 2024, while moving from design into product management at Loco.

‍

How might we help new users reach live content worth watching, immediately?

Exploring before cutting

Before making the decision to strip away screens and streamline the onboarding flow, I wanted to explore whether optimizing the existing multi-step setup could resolve the conversion bottleneck without sacrificing user preference data.

‍

I conceptualised and wireframed three targeted optimisations within the existing structure:

  • Dynamic Language & Streamer Filtering: Introduced real-time suggestion logic that updated recommended streamers instantaneously as users selected their language preferences, eliminating manual search friction within the frame.
  • Consolidated Language & Category Grouping: Grouped separate sequential steps onto unified screens, combining language and game genre selection to reduce overall page clicks while maintaining data density.
  • Interactive Card-Based Selection: Experimented with tactile, card-swiping selection mechanics to make streamer discovery feel more engaging and gamified during registration.

‍

The call to simplify

Leadership chose to simplify rather than reinvent. Their reasons were practical: the concepts needed significant front-end rework, and priorities for the global launch were elsewhere. My first instinct was to reinvent. I came around because onboarding wasn't the highest-leverage problem at that moment, and removing steps was the lowest-hanging fruit. The belief behind it, that mandatory steps before the first stream cost us users, was a hypothesis we didn't test.

‍

One thing I pushed back on: the old streamer-selection step showed names of streamers who weren't on the platform, to seed later recommendations. I thought that was misleading and raised it. Leadership's view was that we were only asking what users liked, not claiming those streamers were on Loco. I didn't win that one, and I'd still raise it.

The final design: smart defaults and a shorter path

  • Smart defaults: mandatory streamer selection was removed. The home feed is populated from IP region, device language and currently trending live broadcasts. Defaults varied by country, and copy stayed the same.
  • Fewer fields: only what's needed to create an account, with optional profile customization moved to settings.
  • Simpler layout: fewer elements and a clear primary CTA.

The trade-off was giving up explicit interest data. The plan was to bring back lightweight implicit tagging from early watch history.

‍

Feasibility & Timeline Realities: What didn't go live

  • The three engagement concepts above.
  • Manual interest tagging.
  • Any A/B test or holdout group.
  • Qualitative research. Large regional usability tests checked functionality and latency, not whether the onboarding made sense to users.

The concepts improved the flow’s polish, but two constraints stopped them: they needed significant front-end rework when priorities for the global launch were elsewhere, and there was no runway to A/B test each variant. Leadership chose to simplify rather than reinvent, removing the mandatory setup steps entirely as the lowest-effort change. The belief behind that call, that any mandatory step before the first stream costs us users, was a hypothesis we never tested against the optimised concepts.

Outcome, limits and reflection

What I can say. Monthly onboarding completions rose from 9,086 (Dec 2024, before launch) to 32,789 (Jun 2025). I count a completion as a user who started profile setup and then performed any in-app event that setup doesn't itself trigger. Because setup was mandatory, reaching that point means getting through it. This is a monthly count, not a rate, and it doesn't show that users watched a stream or stayed.

‍

What I can't say. The flow shipped with a full UI refresh and a large acquisition push. App MAU grew from roughly 130K to a 2.2M peak in March 2025, then fell back to about 270K by July as acquisition ended. I no step-by-step rates, so I can't separate the onboarding change from the refresh or the surge. I no longer have access to the funnel, so I can't recompute it.

‍

What I took from it:

  • Removing steps was the pragmatic call, but I can't claim it beat the optimised-form concepts, because we never tested them.
  • I'd set up a rate-based funnel and a holdout before launch, not after.
  • Being overruled on the streamer names taught me to put the concern and the reasoning on record, even when it doesn't land.

What I'd test/measure next:

Lightweight implicit interest tagging from the first minutes of watch history, D7 and D30 retention by acquisition source, and time on stream instead of taps.

Discover my other work

Discover my other work

MakeMyTrip

Designed the creator lifecycle for MMT’s in-app web-view, from onboarding to bank payouts.
Read more