Pulse Labs helps product, UX, and research teams understand how people experience products in the real world. Its platform supports surveys, interviews, evaluations, observations, and in-app research, helping teams capture user feedback and turn it into actionable insights.
As Pulse Labs expanded the communication capabilities within its platform, the team needed more than a standard messaging interface. Its product requires custom cards and message types that can appear alongside regular conversations, while the underlying chat experience needs to work across web and mobile.
A chat experience that can adapt to the product
Pulse Labs wanted to use CometChat's messaging capabilities end to end, while keeping backend development to a minimum.
The team had a specific requirement: messages generated by its backend would sometimes need to appear as custom cards inside the conversation. These could represent product-specific interactions rather than standard text or media messages.
The messaging layer therefore needed to support:
Standard conversations
Core chat functionality without building messaging infrastructure from scratch.
Custom message types
Product-specific cards displayed alongside regular messages.
Backend-generated messages
The backend determines which custom message appears in the conversation.
Cross-platform support
Messaging across Pulse Labs' Flutter mobile applications and React web application.
Customizable UI
The ability to adapt the chat experience to fit the existing product.
Starting with a configurable chat experience
Pulse Labs chose CometChat's UI Kit as the foundation for its messaging experience.
The UI Kit Builder allows the team to configure the chat experience visually, including features such as groups, file sharing, typing indicators, message editing, and other conversation functionality.
Features Pulse Labs does not need can be switched off rather than requiring the team to build a completely custom chat interface. For example, voice and video calling were outside the scope of its product, so those capabilities could simply be disabled.
Once the experience is configured, the team can export the implementation for its application and make additional changes at the code level where needed.
Extending chat with custom messages
The key requirement for Pulse Labs was the ability to create its own message types.
CometChat's custom message capability gives the team an extension point for messages that don't fit the standard chat format. A backend-generated message can carry the information required for a custom card, while the client application determines how that message should appear.
This lets Pulse Labs build product-specific interactions directly into the conversation rather than placing them in a separate component around the chat interface.
The approach also gives the team flexibility at different levels:
UI Kit Builder
Handles the standard chat experience and configuration.
CometChat's messaging layer
Handles the underlying conversation.
Custom message components
Allow Pulse Labs to introduce its own cards and interactions.
For the mobile application, built with Flutter, the team can add custom Dart components on top of the CometChat implementation while maintaining the core messaging experience.
One messaging foundation across web and mobile
Pulse Labs uses Flutter for its Android and iOS applications and React for the web.
CometChat supports both environments, giving the team a common messaging foundation across its product while allowing platform-specific customization where required.
That means Pulse Labs doesn't have to build and maintain separate messaging infrastructure for each platform simply because its applications use different technologies.
The result
Pulse Labs is using CometChat as the messaging foundation inside its UX research platform, while retaining control over the parts of the experience that are unique to its product.
Ready-made messaging
Pulse Labs can add core chat functionality without building it from scratch.
Custom message types
Product-specific cards can appear alongside standard messages in the same conversation.
Backend-controlled content
The backend can determine what custom message or card appears at each point in a conversation.
Cross-platform support
The same messaging foundation works across Flutter mobile and React web.
Configurable experience
Unneeded functionality can be disabled, keeping the chat experience focused on what Pulse Labs needs.
Room to customize
The team can extend the UI Kit with its own components as its product requirements evolve.
By combining CometChat's ready-made messaging infrastructure with custom message capabilities, Pulse Labs can build conversations around the way its research platform works, without having to build the entire communication layer itself.

