Description

What is Genbu?

Genbu is a web-based collaborative whiteboard tool that has similarities to products like OneNote or Xournal++. By using technologies like CRDT's, WebRTC and Supabase Realtime, collaboration and synchronization is prioritized.

How does Genbu synchronize whiteboards?

Genbu uses a CRDT internally to represent the whiteboard. Updates are shared over an encrypted WebRTC room to other users and the CRDT state vector is regularly stored in the Database. This allows for very fast peer-to-peer synchronization, without the need to run a centralized server.

How does Genbu use Supabase Realtime, if updates are shared via WebRTC?

The WebRTC code will very likely be replaced with Supabase Realtime channels in the future, but there wasn't enough time for me to create a Yjs Provider in the few days since the release of Supabase Realtime. In the current version, Realtime is mostly used to synchronize the teams, folders, and most importantly it updates the open invite counter. If a user A invites another user B, B will get an annotation at the invite icon with the number of open invites in their dashboard.

Supabase Features

  • Supabase Auth
  • Supabase Database
  • Supabase Function
  • Supabase Realtime

Related Projects