Categories
All Softwares
Sublime Text VSCode Binaries Postman TeamViewer Firebase Visual Studio Code Contentful Tribe Circle Notion Datadog NewRelic Vmix Archbee Docker Desktop Bitly GitHub BitBucket Upsource Zapier Make Medium substack Facebook Amazon S3 Maya 3DS MAX Adobe Substance Airtable Roam Research Azure DevOps Retool Powerapps Appsheet 1Password Plex Emby Netflix Apple HomeKit Algolia Lightshot Confluence Toad tableau Data Studio Salesforce SAP Calendly Google photos Bloomberg Terminal BigQuery ML Google AutoML Tables Shopify BigCommerce Google Drive Redis Memcached Windows media player WhatsApp Heroku Render Looker Quizlet Google Analytics Auth0 Trello Elasticsearch Adobe Premiere Pro Zerotier Zoom Skype Docker Polypane Google Chrome Microsoft Edge Safari Gitbook Gmail Google Vertex AI Kdb+ Amplitude Google Docs Typora Roboflow ML Kit Azure Intercom Quicken YNAB Uptime Robot Figma npm TigerGraph Amazon Neptune Fivetran Okta YouTube LastPass Mailchimp Sendinblue Adobe Acrobat Pocket Reddit Onenote Shogun DaVinci Resolve UiPath Taliscale Adobe Lightroom FullStory LogRocket RescueTime Boxcryptor LaunchDarkly ArcGIS AWS SageMaker Tailscale NordVPN WooCommerce Twitter Dropbox Nagios Zabbix Prtg Google Cloud Webflow ActiveCampaign Quickbooks .Net Maui Airplane.dev Pipedream Evernote Autodesk AutoCAD HCL Connections Google Sheets Excel Rundeck Ansible Tower Salt Twilio Pastebin Zoho Unity3D GameMaker AWS Config GCP Cloud Asset inventory AWS GuardDuty Unreal Engine (UE4) Jira YouTrack Stytch Suite CRM Greynoise Photoshop LinkTree BlackBoard Zendesk Discord Rollout.io Disqus Oracle Fusion ERP Cloud Odoo Microsoft Dynamics Alfred Sophos Firewall UniFi Security Gateway Azure AD Doodle Office Online Power BI MicroStrategy Qlik Ampache Socrata Drone CI IOS WordPress IDM FDM Ninja Download Manager McAfee Google Meet WIX cPanel LucidChart HubSpot Landbot Typeform CCleaner Ecwid Spotify Stackstrom N8N Substance Painter Onshape SketchUp Canny Miro XMind Segment GoogleForms Adobe Illustrator MultiSim Proteus Prezi Slack Microsoft Teams SumSub JAWS Wetransfer Framer Microsoft 365 Telegram Threema Signal Lokalise Crowdin Phrase WolframAlpha Dataclay Templater Bot WorkOS FrontEgg Snorkel AI ZohoCRM Voicemod Chromatic Percy POEditor Transifex Microsoft Office Selenium vBulletin Xenforo Hightouch Logseq Bundlephobia Webpack Esbuild Rollup Session Berty WHMCS Stripe Billing Google Camera ImgIX Netlify Google Keep SocialPilot Hootsuite Firebase Analytics Access Manager Wordle Amazon Redshift Snowflake Microsoft Active Directory ClubHouse Tenable Nessus Obsidian Scrivener IDA Neo4j Pushbullet Pushover TinkerCAD Fusion360 SolidWorks TablePlus Cryptomator Glasswire Comodo Firewall Coyim Splunk Hungry Bring Panther IFTTT openHAB Alexa Google Home Twitch Asana IBM Watson Discovery FL Studio Ableton Google Maps Gather Aseprite Instagram Agora Wowza Docuware ELO Office Apollo GraphQL Supabase Hasura Stepzen Postgraphile Lyket.dev Kahoot Clubdesk Fairgate Bandicam Revoltchat Element Imply Pinot MongoDB Oracle Peoplesoft CurseForge Google Tag Manager MS SQL AppWrite Nhost AWS Kendra QnA Maker Apigee Google Cloud IoT Core Microsoft OneNote Amazon API Gateway Qualtrics Sprig Hotjar Sibelius Finale Dorico Snyk Common Room Orbit Toggl Track Adobe Scan Microsoft Lens CamScanner Vercel Stack Overflow Traktor Pro 3 Markup CMS Documentation Atlassian Confluence Raindrop Akeneo Salsify Informatica SuiteCRM VtigerCRM Cruise Tesla autopilot Waymo Adobe Animate Pencil2D Men&Mice Solarwinds Infoblox Device42 AWS WAF
Jam

Jam

Open Source Alternative to ClubHouse
Language
JavaScript
Stars
1275
Watchers
1275
Forks
95
Open Issues
2
Last Updated
5/8/2025

REAMDE.md

Jam

Discord Twitter Follow GitHub Repo stars npm

πŸ“ Jam is an open source alternative to Clubhouse, Twitter Spaces and similar audio spaces.

With Jam you can create audio rooms that can be used for panel discussions, jam sessions, free flowing conversations, debates, theatre plays, musicals and more. The only limit is your imagination.

try Jam for free on https://jam.systems/

get your own Jam server hosted by us with the Jam Early Access Program here

join the Jam community on 🎧 Discord

follow Jam on 🐣 Twitter

find Jam on 😽 Product Hunt

πŸ—“ join our weekly Jam Jam (a Jam where we jam about Jam) every Wed @ 8pm CEST (2pm EDT)

add the /jam shortcut to your Slack workspace:

Add to Slack

add Jam to your Wordpress, Webflow or Shopify:

Add Jam to Wordpress Β Β Β  Add Jam to Webflow Β Β Β  Add Jam to Shopify

Feature Comparison

An overview for how πŸ“ Jam compares to similar services like Clubhouse or Twitter Spaces. We intend to keep this table up to date as the services evolve. Please let us know what you care about and how we can make it easier for you to understand whether πŸ“ Jam is right for you.

πŸ“ Jam πŸ‘‹ Clubhouse 🐣 Twitter Spaces
🎨 Branded Rooms βœ… set your own logo, color ❌ ❌
🧩 Embed in your app or website βœ… iFrame, WebView, JS SDK ❌ ❌
πŸ’― Animated Reactions βœ… (❀️ πŸ’― πŸ˜‚ πŸ˜… 😳 πŸ€”) ❌ βœ… (πŸ’― βœ‹ ✊ ✌️ πŸ‘‹)
πŸ“Ž Description w/ Links βœ… w/ Markdown support ❌ β˜‘οΈ show tweets
πŸ’΅ Earn Money βœ… dedicated support for
PayPal.me, Bitcoin:, Gumroad
❌ no built in support

currently not allowed
unless specifically authorized
see Terms of Service
(Conditions of Use #9)
❌ no built in support
πŸ“± Platform support βœ… Web, iOS, Android,
macOS, Windows, Linux, …
β˜‘οΈ iOS App Store & invite β˜‘οΈ iOS App Store & invite
🌏 Data Sovereignty β˜‘οΈ EU πŸ‡ͺπŸ‡Ί (Frankfurt, Germany πŸ‡©πŸ‡ͺ)

βœ… open source, host wherever you want
β˜‘οΈ USA πŸ‡ΊπŸ‡Έ, China πŸ‡¨πŸ‡³ (Audio API Provider)

❌ proprietary, no self-hosting
β˜‘οΈ USA πŸ‡ΊπŸ‡Έ (?)

❌ proprietary, no self-hosting
πŸŽ™ Number of Speakers in a Room βœ… ~ 15+ (limited by p2p bandwidth) βœ… ~ 100s (?) β˜‘οΈ 10
🎫 Number of People in a Room βœ… unlimited (depending on server) βœ… up to 8000 (?) βœ… unlimited (?)
πŸ—“ Discovery β˜‘οΈ off-platform (social networks, messengers) βœ… hallway, upcoming events, off-platform βœ… fleet bar, off-platform

πŸ’― Animated Reactions (🎬 see a demo)

🎨 Branded Rooms: set a picture and a color for your room

πŸ’΅ Earn Money: dedicated support for linkinging to off-platform services to charge money or sell your own products

Room Configuration via URL

You can configure a room by adding parameters as query parameters or as base64URL encoded string in the hash component of a url.

You can take a look at examples for room configurations via URLs in our examples directory or in our Glide tutorial

key value note
room.name name of the room
room.description description of the room
room.color CSS value (e.g. "red" #CCCCCC) primary color of the room, used for the primary action button and some styling like background chrome color, note that you need to encode the hash sign using %23 if passed as query parameter (#CCCCCC becomes %23CCCCCC)
room.stageOnly true users join directly on stage instead of in the audience
ux.noLeave true removes the "leave" button
ux.autoCreate true create room if it does not exist yet
ux.autoJoin true users join the room automatically without having to click a button to join
ux.autoRejoin true users re-join the room automatically if they have been in the room previously without having to click a button to join
identity.name name of the user
identity.avatar image URL of the user avatar, profile picture, user photo …
keys.seed string seed for deriving a public/private keypair a seed for deriving a public/private keypair. this keypair is for the current user within the room (related: creating rooms with a known set of moderators requires the public keys of the moderators)

Known Issues and Solutions

πŸ“± iPhone: audio output sometimes switches randomly between loudspeaker and earspeaker.

Workaround: use bluetooth or cable headphones, this way audio will always go through the headphones.

πŸ“± iPhone & Android: when phone goes to sleep/lockscreen because of inactivity the microphone or sound output might stop working until you unlock the screen again

Workaround: make sure you are using Jam in the standalone browser instead of within a webview

Participants can hear me but I can not hear them

When participants join a room on πŸ“ Jam they start in the audience, you can add them to the stage by tapping on them and by tapping the "invite to stage" button

Host Your Own Server

Hosting your own Jam server is easy.

Minimum Requirements

To run your own Jam instance we recommend a minimum of 1 GB RAM and a 1GHz CPU.

e.g.: a Raspberry Pi (1+ GB RAM) or the smallest Digital Ocean Basic Droplet (1 GB RAM) or the smallest Linode shared plan (1 GB RAM) or t2.micro (1 GB RAM) on Amazon Web Services should be enough to get started.

Install

  1. Install docker and docker-compose (https://docs.docker.com/compose/install/)
  2. git clone https://gitlab.com/jam-systems/jam.git
  3. cd jam
  4. git checkout stable
  5. cd deployment
  6. cp .env.example .env
  7. nano .env set JAM_HOST to the domain you want Jam to be available (If you are deploying on AWS you need a domain you own pointing to your sever as letsencrypt does not issue certificates for *.compute.amazonaws.com domains)
  8. In your DNS settings point ${JAM_HOST}, and *.${JAM_HOST} to your IP address (if you don't want a wildcard you need the subdomains stun and turn (e.g. stun.jam.example.com and turn.jam.example.com))
  9. If you are behind a NAT:
    1. Open ports 3478 and 3480, both TCP and UDP, and 80 and 443, TCP, on your firewall
    2. nano turnserver.conf set realm to your domain. If you are running coturn behind NAT, you may need to add the parameter external-ip and give it the value of your public IP address.
  10. docker-compose up -d

Update

NOTE: Make sure you have the newest version of docker-compose (install according to https://docs.docker.com/compose/install/).

  1. cd jam/deployment
  2. git checkout stable
  3. git pull
  4. docker-compose pull
  5. docker-compose up -d

NOTE: If you update from a version before March 23rd to one after and you want to keep users' identities and rooms:

  1. cd jam/deployment
  2. docker-compose down
  3. git checkout stable
  4. git pull
  5. docker-compose pull
  6. mv ../pantryredis ../data
  7. docker-compose up -d

Jam SDK

If you want to build your own audio room UI from scratch, or even develop a Jam bot, then Jam gives you the tools to do so as well! Take a look at jam-core, our npm package which exposes all functionalities of Jam as a JavaScript library, without prescribing any UI.

For easily integrating jam-core into a React app, check out the companion package jam-core-react. The official Jam app itself is primarily built on jam-core-react.

Develop

In in the ui directory use yarn to install dependencies and yarn start to start the local development server.

Directory overview:

deployment/ docker compose file for deploying and hosting of Jam

pantry/ a lightweight server for handling authentication and coordination of Jam

ui/ web based user interface based on the React framework

Buy Us β˜•

BTC: 3HM1zPtLuwCGarbihNYVjFVwbFrFe9keqh

ETH: 0xe15265b2a309f0d20038e10b8df5a12fb5e916f8

Categories:
VoiceChat