Jam – Self-Hosted Clubhouse

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

Our great sponsors
  • Appwrite - The Open Source Firebase alternative introduces iOS support
  • Scout APM - Less time debugging, more time building
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • jam

    🍓 Jam is your own open source Clubhouse for mini conferences, friends, communities (by jam-systems)

    Wow, I just woke up to this. Glad to see Jam here on hn. We've come a long way since the initial release earlier this year (Show HN: https://news.ycombinator.com/item?id=26131123).

    Most of our efforts since february went into making the rooms more reliable which sounds simple but there are actually countless of different reasons for why audio might not work or not work as well as it could (switching from wifi to mobile data, microphone permissions, bandwidth problems, OS forces app into background, …) some are solvable others at least need to be documented and tracked.

    What else is new other than reliability?:

    # Support for large rooms (think: thousands of people in the audience) using an SFU

    Initially Jam only had support for p2p rooms which is great for small rooms (up to like ~20 people depending on upstream bandwidth of the speakers) but for online conferences, meetups and so on you often need rooms that support 100s or 1000s of participants so we added an SFU where the speakers still send audio to each other p2p to keep conversations low-latency but we use a server to stream audio to all users that are in the audience.

    (That said: you can still run Jam p2p-only if you prefer that)

    # Locally recorded multi-track audio (think: podcasts with multiple guests, where you get one high quality audio track per speaker)

    You can try multi-track audio recordings on our public beta server (https://beta.jam.systems). Tap on our own user and then "Start Podcast Recording". When you tap on your own user again and then "Stop Podcast Recording" the browser will prompt you with downloads for all audio tracks (we will make this more smooth going forward).

    # Custom UI

    For everyone who wants to add audio rooms to their own app but needs full control over the look and feel we have added an API and JavaScript library (and NPM package) so you can "build your own" ui for Jam. This basically means that Jam is running "headless" as an audio room server and makes sure audio works while you can build exactly the ui that you want.

    E.g. let's say you have an app like Google Docs and you want to allow people to talk about a document. In this case you might want something that doesn't look like a room on Clubhouse or Twitter Spaces but rather like a line of avatars and with the API and library you can build this yourself now:

    https://www.npmjs.com/package/jam-core

    https://gitlab.com/jam-systems/jam/-/tree/master/ui/examples

    # Managed hosting

    For everyone who wants to use Jam but doesn't want to install and maintain Jam themselves we are run and support Jam for you (think: what Wordpress.com is to Wordpress.org):

    https://jamshelf.com

  • jam

    Wow, I just woke up to this. Glad to see Jam here on hn. We've come a long way since the initial release earlier this year (Show HN: https://news.ycombinator.com/item?id=26131123).

    Most of our efforts since february went into making the rooms more reliable which sounds simple but there are actually countless of different reasons for why audio might not work or not work as well as it could (switching from wifi to mobile data, microphone permissions, bandwidth problems, OS forces app into background, …) some are solvable others at least need to be documented and tracked.

    What else is new other than reliability?:

    # Support for large rooms (think: thousands of people in the audience) using an SFU

    Initially Jam only had support for p2p rooms which is great for small rooms (up to like ~20 people depending on upstream bandwidth of the speakers) but for online conferences, meetups and so on you often need rooms that support 100s or 1000s of participants so we added an SFU where the speakers still send audio to each other p2p to keep conversations low-latency but we use a server to stream audio to all users that are in the audience.

    (That said: you can still run Jam p2p-only if you prefer that)

    # Locally recorded multi-track audio (think: podcasts with multiple guests, where you get one high quality audio track per speaker)

    You can try multi-track audio recordings on our public beta server (https://beta.jam.systems). Tap on our own user and then "Start Podcast Recording". When you tap on your own user again and then "Stop Podcast Recording" the browser will prompt you with downloads for all audio tracks (we will make this more smooth going forward).

    # Custom UI

    For everyone who wants to add audio rooms to their own app but needs full control over the look and feel we have added an API and JavaScript library (and NPM package) so you can "build your own" ui for Jam. This basically means that Jam is running "headless" as an audio room server and makes sure audio works while you can build exactly the ui that you want.

    E.g. let's say you have an app like Google Docs and you want to allow people to talk about a document. In this case you might want something that doesn't look like a room on Clubhouse or Twitter Spaces but rather like a line of avatars and with the API and library you can build this yourself now:

    https://www.npmjs.com/package/jam-core

    https://gitlab.com/jam-systems/jam/-/tree/master/ui/examples

    # Managed hosting

    For everyone who wants to use Jam but doesn't want to install and maintain Jam themselves we are run and support Jam for you (think: what Wordpress.com is to Wordpress.org):

    https://jamshelf.com

  • Appwrite

    Appwrite - The Open Source Firebase alternative introduces iOS support . Appwrite is an open source backend server that helps you build native iOS applications much faster with realtime APIs for authentication, databases, files storage, cloud functions and much more!

  • mumble-web

    An HTML5 Mumble client

    Mumble isn't exactly P2P. It has a server (murmurd) that handles all the streams. I think it could work as SFU. And, actually, there is a web frontend: https://github.com/Johni0702/mumble-web

    Your use of Opus and the option to run a SFU makes this a suitable replacement of Mumble for meetings, like in the Pirate Parties around the world. We are heavy users of Mumble.

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