<BlogPostCustomerFacts
  logo="/images/companies/logos/gomada.svg"
  name="Gomada"
  urlWebsite="https://gomada.co"
  teamSize={11}
  yearFounded={2022}
  customerSinceDate={new Date(2022, 9, 1)}
/>

## Challenge

As we all know, the COVID-19 pandemic has significantly impacted how teams work
and bond globally. Employees and employers had to learn how to adapt to this new
context.

With many employees working remotely, it can be difficult to maintain cohesion
and motivation among team members. The lack of face-to-face interaction can make
communication more complicated, and company leaders fear their culture is
slipping away.

That’s when [Gomada](https://www.gomada.co) decided to step in and help those
companies build strong and truly engaged remote teams with little effort. They
decided to tackle this by offering two primary services within their product:
measuring teams’ engagement and suggesting
[virtual activities](https://www.gomada.co/blog/virtual-team-building-activities)
tailored to their specific needs.

<Figure>
  <video autoPlay loop muted playsInline>
    <source
      src="/images/blog/gomada/experience-within-gomada.mp4"
      type="video/mp4"
    />
  </video>
</Figure>

To be successful, Gomada mastered various complex areas of knowledge:
psychology, human resources, game design, data analysis, machine learning, user
experience, and development. Their core expertise revolves around team building
and engagement, and anything that distracts them from their mission wastes time
and effort they can’t afford.

Read more if you want to learn how Gomada uses Liveblocks to offer its users a
delightful and realtime collaborative experience while focusing on what truly
matters: people.

## Solution

Gomada uses React, and to enable realtime collaboration without adding too many
dependencies to their codebase, they installed the
[@liveblocks/react](/docs/api-reference/liveblocks-react) package. This package,
combined with Liveblocks’ [conflict-free data types](/storage), allows them to
synchronize the document’s state between users so that everyone can view and
edit the same data in realtime. Furthermore, Gomada can instantly show
everyone’s cursors in the document with Liveblocks’ [presence](/presence),
enabling a truly collaborative and interactive experience.

To achieve a high-quality whiteboarding experience, the team used
[Fabric.js](http://fabricjs.com/), a powerful JavaScript library that was
quickly and easily plugged into Liveblocks’ storage and conflict-management
system. This was a significant advantage and allowed them to move quickly with
their development.

<BlogPostQuote
  quote="The out of the box react hooks (@liveblocks/react) with integrated room history made implementing a realtime collaborative whiteboard very simple and saved us lots of time."
  author={{
    name: "Miguel Coxo",
    title: "Senior Frontend Developer at Gomada",
    avatarUrl: "/images/people/miguel-coxo.jpeg",
    companyAvatarUrl: "/images/companies/avatars/gomada.jpeg",
    companyName: "Gomada",
  }}
/>

## Results

In only a few days, they were able to create a collaborative, conflict-free
drawing experience with [live cursors](/examples/live-cursors/nextjs).

Notoriously tough to build, undo/redo in a collaborative environment is even
more difficult since managing multiple users’ interactions with a shared
document requires an intricate balance of logic and technology.

This is why the team at Gomada was particularly proud of their achievement in
developing a feature that allows multiple users to draw together without
conflicts and provides a user-friendly and intuitive way for users to undo and
redo their actions. Leveraging Liveblocks, they were able to take advantage of
seamless integration of undo/redo. Gomada has created a truly collaborative
experience that makes it easy for users to work together without any issues.

<BlogPostQuote
  quote="Creating interactive activities is crucial to make remote team building engaging for participants. Liveblocks helped us bring our activities to another level fast with its simple API and platform."
  author={{
    name: "Joao Aguiam",
    title: "Co-founder & CTO at Gomada",
    avatarUrl: "/images/people/joao-aguiam.jpeg",
    companyAvatarUrl: "/images/companies/avatars/gomada.jpeg",
    companyName: "Gomada",
  }}
/>

If you want to try Gomada’s collaborative whiteboarding experience, you can try
the excellent activity,
[Memorable Moments](https://www.gomada.co/activities/memorable-moments), with
your team. This will allow you to discover Gomada’s best-in-class collaborative
experiences and their lighthearted/fun approach to remote connection.

<Slideshow
  slides={[
    {
      width: 397,
      height: 218,
      imageUrl: "/images/blog/gomada/gomada-share-activity-with-colleagues.gif",
      caption: "Share an activity with colleagues by just sending an url",
    },
    {
      width: 397,
      height: 218,
      imageUrl:
        "/images/blog/gomada/gomada-show-who-is-online-and-share-reactions.gif",
      caption: "Show who’s online with you and send reactions in realtime",
    },
    {
      width: 397,
      height: 218,
      imageUrl:
        "/images/blog/gomada/gomada-live-cursors-and-realtime-updates.gif",
      caption: "Show live cursors and realtime updates from everyone",
    },
    {
      width: 397,
      height: 218,
      imageUrl: "/images/blog/gomada/gomada-undo-and-redo.gif",
      caption: "Undo and redo any actions you have done",
    },
  ]}
  timingBetweenSlides={5000}
/>

If this inspired you to make your product collaborative, here are a few
references that will help you accelerate development:

- To show who is currently in the same document as you, check our example:
  [Live Avatar Stack](https://liveblocks-io-git-customer-story-runwayml-liveblocks.vercel.app/examples/live-avatar-stack/nextjs).
- To show people’s cursors in real time:
  [Live Cursors](/examples/live-cursors/nextjs)
- To broadcast events to multiple people instantly, like when someone has
  completed a task or sharing a reaction:
  [Live Cursors Chat](/examples/live-cursors-chat/nextjs)
- To offer a collaborative and conflict-free whiteboarding experience, check our
  tutorial:
  [Creating a collaborative online whiteboard with Liveblocks](/docs/tutorials/collaborative-online-whiteboard)
- To implement a share dialog, check our guide:
  [Managing rooms, users, and permissions](https://liveblocks-io-git-customer-story-runwayml-liveblocks.vercel.app/docs/guides/managing-rooms-users-permissions)