Selected work Stop 047shifts (B2B SaaS)

Modern messaging for restaurant teams

7shifts’ in-app messaging was outdated, not real-time, and missing table-stakes features. It drove negative reviews and pushed restaurant staff to other apps to talk to each other. Instead of one big redesign, I split the work into five releases that could each ship and be measured on their own.

The modernized 7shifts FOH group chat: photos with heart and thumbs-up reactions, a PDF attachment, a message with 2 replies, a GIF, and an open thread panel beside the conversation.
My role
Product DesignerResearch → implementation, plus mentoring a junior designer
Company
7shiftsB2B SaaS, used by restaurant staff
Worked with
PM, engineering manager, developersand product marketing
Platforms
Web, iOS, AndroidDesigned web, guided the mobile designs
+40%

feature satisfaction, measured via a post-interaction survey

92%

task completion in usability testing, with 4.7/5 satisfaction

Fewer negative reviews

Messaging complaints dropped significantly after the releases

01. The problem

Staff had a chat app. They used other ones.

Would love to just use one tool for staff communication. 7shifts has a chat but it’s unreliable and we need more for our communication needs.

— 7shifts customer

Messaging in 7shifts was outdated, didn’t update in real time, and was missing features people expect from any messaging app. That showed up in negative reviews, and in restaurant teams moving their staff communication to other apps.

02. The approach

Five releases instead of one big launch

Rather than one large redesign, we modernized messaging in phases. Each release closed a specific gap against modern messaging apps, so we could ship value continuously instead of waiting on a single big-bang launch.

Five independent releases. Release 01, the interface update, is the foundation. Releases 02 to 05 (reactions, replying and threads, attachments, GIFs) each build on it and can ship and be tested on their own. Release 01 (Foundation) Interface update Modern UI before new features Release 02 Reactions A small, intentional set Release 03 Replying & threads Replies grouped in context Release 04 Attachments Images, documents, video Release 05 GIFs In the composer

03. Research

What restaurant staff needed from chat

Talking to restaurant staff surfaced four recurring themes.

  • 01. Modern experienceA messaging experience that matched the apps they already used.
  • 02. Culture buildingChat as a way to build team culture, not only get work done.
  • 03. OrganizationEvery message started a new thread.
  • 04. Real-timeDelivery fast enough for a fast-paced environment.
Four pain points from staff interviews: modern experience, culture building, organization, real-time communication

Persona and empathy map

I turned the interview data into a persona and empathy map so the wider team, not just the people who ran the interviews, could feel the frustration behind the feature requests instead of reading a list of them.

Restaurant staff persona and empathy map with wants, frustrations, and quotes

The diagram that aligned the team

Mapping the existing flow made the rigidity concrete: every message, new or reply, funneled through the same “create new message” path, with no way to reply in context.

Flowchart of the existing 7shifts messaging flow, showing the rigid single path for new messages and replies

That single diagram did more to align the team than the interview notes had.

Deciding what to build first

Survey. With the marketing and product managers, I ran a survey to prioritize which features to build first and to set benchmarks. That gave us an objective way to measure whether each release moved the needle, not just whether it shipped.

Competitive analysis. I reviewed the messaging platforms teams were already using, including Homebase, Slack, iMessage, and WhatsApp, plus other platforms for broader industry patterns. The goal was to find patterns users already understood and avoid reinventing familiar messaging behaviors.

Feature comparison table across Homebase, Slack, iMessage, and WhatsApp for attachments, gifs, reactions, replies, and threads

04. Technical constraint

Buy, not build, and check the docs before designing

The constraint

Real-time messaging with reactions, threads, and attachments wasn’t feasible to build from scratch on our timeline.

So we evaluated third-party messaging services instead of building in-house.

The trade-off

A third-party UI might not blend into 7shifts’ design system, and our customization would be bounded by what the vendor exposed.

What I did

I reviewed the vendor’s documentation myself and confirmed it offered enough component-level control to keep the experience on-brand.
Hand-drawn sketches of gif search, reactions, and threading using the third-party service's components

Wireframes that were already buildable

I sketched directly against the third-party service’s actual components rather than idealized boxes, so the concepts we reviewed with the team were ones we knew were buildable.

05. Release 01: Interface

A current foundation before any new features

The first release brought the messaging UI up to modern standards, so every feature after it landed on an interface that already felt current.

The conversation view

After: modernized conversation view with threaded messages

What wasn’t working · users

Messages ran in reverse order, nothing updated in real time, and the two-panel layout took up a lot of the screen.

What wasn’t working · business

Messaging drove negative reviews, and customers were switching to competitors.

The design decision

A single, compact panel with messages in chronological order and the composer at the bottom, matching the messaging apps staff already used. A refinement pass then adjusted avatar size and spacing, and added quick actions to the composer.

06. Release 02: Reactions

“Got it” without another reply

Reactions gave staff a way to acknowledge a message, like “got it” or “on my way”, without adding another reply to an already-crowded thread.

The trade-off

My first iteration offered the full emoji picker, which gave staff the most freedom. But a reaction can’t be moderated on its own: if someone added an inappropriate one, the whole message would have to be deleted.

The design decision

Reactions are limited to a small, intentional set. The full emoji picker stays in the message composer, where an inappropriate message can be flagged and removed by a manager.

07. Release 03: Replying & threads

Reply to something from two days ago, in context

We tested both inline replies and full threads with users. Threads won: staff could reply to an older message without losing the surrounding conversation.

Alternative explored

Inline replies

Concept: the BOH group chat with an inline reply, where Charles Boyle's answer appears in the main conversation quoting Terry Jeffords' earlier message
Concept: a reply shown inline in the main chat, quoting the original message.

Inline replies let users respond directly within the main conversation, quoting the original message for context. They were simpler to implement and familiar from consumer messaging apps.

Why I turned back

  • It performed worse in testing.Users found replies harder to follow than threads during usability testing.
  • It got messy fast.When several people replied to the same message, the replies scattered through the main chat, making the conversation harder to follow.

The design decision

Threads, accepting a longer build to keep each reply grouped with the message it answers. The main conversation stays readable, even when several staff respond to the same message.

08. Release 04: Attachments

Photos and files, without leaving the conversation

Staff needed to share photos and files directly in a conversation, like a printed schedule or a photo of a spill, without leaving the app to text or email it separately.

What was missing before

Messaging was text only. Anything visual, like a new policy, an updated menu item, or a photo from the floor, had to be shared outside 7shifts, splitting team communication across apps.

The design decision

Support for images, documents, and video attachments directly in the composer, keeping updates and the conversations around them in one place.

09. Release 05: GIFs

Room for the social side of team chat

GIFs gave teams a lighter, more personal way to communicate, bringing some fun into everyday conversations and helping build team culture.

What was missing before

Culture-building came up as a theme in interviews, but messaging only supported getting work done. The social side of team chat was happening in other apps.

The design decision

GIFs directly in the composer alongside emojis and attachments, so a moment of fun happens right in the conversation instead of in another app.

10. Testing & implementation

Testing the interactions most likely to be missed

I prototyped the reaction and threading flows to test discoverability specifically: the interactions most likely to be missed if they weren’t obvious at a glance.

8

users tested

92%

completion rate

4.7/5

satisfaction

Staying close through every release

For every phase, I stayed close to development, handling specs, styling questions, and a final usability and interaction pass before each release, rather than handing off and moving on.

11. Mentoring & cross-platform

One messaging experience across web, iOS, and Android

I led the project across web and mobile, designing the web experience and guiding the mobile designs. A junior designer on the mobile team designed the mobile screens, and I mentored them through it.

  • ReviewReviewed their work.
  • PairPaired with them on design problems.
  • PresentHelped them prepare to present to the team.
  • Edge casesWorked with them to identify edge cases.

The biggest challenge

Consistency, when staff moved between web, iOS, and Android throughout their day.

Each platform has different system capabilities and interaction patterns. We aligned on where the experience needed to behave the same and where it should follow each platform’s conventions, so messaging felt familiar wherever staff opened it.

12. Results

What changed

+40%

feature satisfaction

Measured via post-interaction survey
  • ProblemAn outdated, unreliable chat missing table-stakes features.
  • DecisionFive independent releases, each closing a specific gap against modern messaging apps, measured against survey benchmarks.
  • OutcomeFeature satisfaction up 40%.
Fewer negative reviews

messaging complaints

Dropped significantly
  • ProblemMessaging drove negative reviews, and customers were switching to competitors.
  • DecisionA real-time, chronological chat, then reactions, threads, attachments, and GIFs, each shipped as its own release.
  • OutcomeMessaging complaints dropped significantly.

What shipped

  • Modernized interfaceA compact, chronological chat with real-time messaging.
  • New featuresReactions, threads, attachments, and GIFs.
  • Consistent experienceMessaging that feels familiar across web, iOS, and Android.

13. Reflection

What I learned

  1. Phasing de-risks scope.

    Splitting one large redesign into five independent releases meant we could ship, learn, and adjust continuously instead of betting everything on one launch.

  2. Vendor constraints are a design input, not an afterthought.

    Reviewing the third-party service’s actual capabilities before designing kept concepts realistic and kept avoidable rework low.

  3. Cross-platform consistency takes deliberate effort.

    Different platforms carry different interaction norms. Mentoring a junior designer through that made attention to detail non-negotiable.

Try it

Clickable prototype

Loading prototype…

Stop 05Curbie (B2C marketplace)

Search with no dead ends

Read the case study