Case Study

Mobile Chat

Lead Product Designer • Push Operations • 3-4 Quarters

Mobile Chat Hero

Overview

Designed and launched a modern instant messaging system, enabling mobile users to swap shifts, coordinate with coworkers, and stay informed — all within the app they already use every day.

Problem

Shift workers needed a better way to connect — both for real-time communication and scheduling coordination. Our internal analytics and Productboard feedback highlighted a consistent trend: users wanted mobile-first messaging, support for multiple locations, and notifications to stay in the loop. The business need was clear: revamp our outdated messaging system to improve user retention and engagement.

Goals

  • Create a mobile-first chat experience for shift workers
  • Enable communication across multiple locations
  • Implement notifications to keep users informed
  • Integrate with Stream Chat while maintaining our design system

Constraints

  • Limited development resources (lean team of 3 developers)
  • Need to work with Stream Chat's existing components
  • Multi-quarter timeline with phased delivery
  • Balance between feature richness and implementation complexity

Process

Research & Prioritization

I reviewed dozens of user-submitted feedback items in Productboard, spoke with support and success teams to gather data, and identified core user stories (e.g., 'I need to swap shifts with a coworker'). This research phase helped us understand the most critical needs and prioritize features for the initial release.

Research & Prioritization - Image 1
Research & Prioritization - Image 2

Design & Prototyping

Our leadership team was set on using 'Stream', a chat API. I evaluated Stream's out-of-the-box component file — and quickly rebuilt it using Figma's modern auto-layout for responsiveness and maintainability. I created a custom component library aligned with our mobile design system and brand, presented wireframes and prototypes in user tests and internal stakeholder reviews, and iterated frequently based on usability feedback and dev constraints.

Design & Prototyping - Image 1
Design & Prototyping - Image 2

Collaborative Build Process

I maintained close Slack communication with PM and devs to scope features, aligned on MVP goals and trimmed non-essential settings from Stream's UI, and used lo-fi designs to guide efficient development cycles. This collaborative approach ensured that we were all on the same page throughout the development process.

Collaborative Build Process - Image 1

Challenges & Solutions

We faced several challenges during the project. Many of our restaurant users work at multiple locations under the same company, which meant we needed a location switcher. This became a bit of a tangent design-wise, but it was completely necessary for the successful launch of Chat — something our team hadn't initially predicted, but that turned out to be incredibly useful beyond just messaging.

The notification pipeline was another tricky problem: how do you let a user know they have a message waiting in a different location? I explored a few different approaches (like making Chat a global feature, regardless of which location a user is logged into), but ultimately landed on a breadcrumb-style notification that led to the location switcher.

This was accessible from the nav drawer and included a quick-select slide-up menu. Tapping the notification bubble would take users directly to the relevant chat window.

Another big client ask was for a dynamic messaging system that allowed users to create group chats based on specific parameters (e.g., "Message all back-of-house staff working tomorrow"). To avoid yet another design tangent — and a potential scope crisis — I pivoted to a "Smart Channel" model inspired by Apple's Smart Folders. While it didn't allow for highly specific group creation, it solved the core problem: making it easy to communicate with entire roles to coordinate shift swaps.

Challenges & Solutions - Image 1
Challenges & Solutions - Image 2

Results

  • Over 100,000 messages sent in the first few months of release
  • Chat has overtaken our legacy messaging tool in daily usage
  • Location switching and channel creation patterns are now being reused across other features
  • Stakeholders praised the modern UI and strategic use of third-party integration

Chat recently reached 25k monthly active users for the first time! For context, 1 year ago today we were sitting at 3901 MAUs, a YoY increase of 540%

PM at Push Operations
Final Result of Mobile Chat Project

Reflection

I learned to speak up earlier when a design direction feels bloated or misaligned. Embracing lo-fi design helped me iterate faster and save engineering time. Rebuilding the Figma component library not only improved handoff but continues to support new chat-related features. This was my first major experience adapting a third-party tool into our system — and it taught me how to balance flexibility, branding, and technical trade-offs.