Jam – Self-Hosted Clubhouse

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

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • 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

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • 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