Realtime: Multiplayer Edition

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • supabase

    The open source Firebase alternative.

  • Yes, you can self host and everything is open source (including the Dashboard[0]). Everything is either MIT, Apache2, or PostgreSQL licensed.

    > difference between Supabase open-source and the paid versions

    On the paid version we handle some of the additional database management (like daily backups, PITR, etc). These are all technically available for self-hosting too because the database is just a Postgres database, but I point it out because it's not something you'll get "out of the box" from the docker setup.

    Our philosophy with open source is "offer everything" and then charge for usage. There aren't any features completely gated - our Enterprise plan just adds additional SLAs and support packages for our cloud platform.

    In addition to the self-hosting docs you've linked, in our GitHub you can find the docker files[0] and some community-developed self-hosting strategies [2]

    [0]https://supabase.com/blog/supabase-studio

    [1] docker: https://github.com/supabase/supabase/tree/master/docker

    [2] community: https://github.com/supabase-community/#self-hosting

  • realtime

    Broadcast, Presence, and Postgres Changes via WebSockets

  • We started developing Realtime: Multiplayer version many months ago in a private repo just to experiment with Phoenix's Broadcast and Presence and over time we just added to it.

    We plan to move all the code over to https://github.com/supabase/realtime in the next couple of weeks and you'll be able to see the code in its entirety.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • tiptap

    The headless rich text editor framework for web artisans.

  • One thing that... might be useful depending on what exactly you're building here is https://hocuspocus.dev, which is an incredibly easy to use server for Y.js.

    It's written by the team behind https://tiptap.dev, which is an amazing WYSIWYG text editor, but HocusPocus does a great job of syncing state of a variety of WYSIWYG editors.

    In addition to editor state, it also has built-in support for 'Awareness' (info on current users), as well as any other Y.js datatype, including other things with a bridge into Y.js.

  • Phoenix

    Peace of mind from prototype to production

  • metagration

    Metagration: PostgreSQL Migrator in PostgreSQL

  • Realtime uses logical replication, and from your link it looks like it should work with Timescale (although not recommended):

    > Using logical replication with TimescaleDB is not recommended, as it requires schema synchronization between the primary and replica nodes and replicating partition root tables, which are not currently supported.

    As long as logical replication is supported, this won't be an issue for Realtime because the purpose is to receive data changes (which come in a JSON format) and the end-user doesn't need to persist schema modifications.

    > but couldn't get it working

    If you send me some error logs, I can take a look or forward to one of the team.

    > support Postgres streaming replication

    This is the first time I've heard it requested - I don't think it's something we'd do unless there was a good reason and strong demand. If we were to do any work in this direction we'd prefer to try contribute DDL streaming to PostgreSQL's logical streaming. We've been thinking about this for a while (Michel has built metagration - https://github.com/michelp/metagration which has prompted a few ideas for core patches)

  • postgrex

    PostgreSQL driver for Elixir

  • It sounds like Supabase is pulling out the WAL listening bits into its own library?

    https://supabase.com/blog/supabase-realtime-multiplayer-gene...

    If so, y'all might want to look into: https://github.com/elixir-ecto/postgrex/blob/master/lib/post...

  • walrus

    Applying RLS to PostgreSQL WAL (by supabase)

  • Wen Bo from the Supabase Realtime team here!

    We actually use https://github.com/supabase/walrus to get the database changes and we're planning on moving to a Rust worker (https://github.com/supabase/walrus/tree/worker/worker) for better performance especially in the RLS-enabled use case.

    I promised José that I would check out Postgrex.ReplicationConnection and we might add it in to our Supabase Realtime some time in the future.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • FluidFramework

    Library for building distributed, real-time collaborative web applications

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts