General
What is Podcast Studio?

Podcast Studio is an open-source, browser-based recording platform for podcasters. Each participant joins a session from any browser — no app to install — and their microphone is captured locally at full quality before any compression happens. The recordings are stored on the server and can be downloaded as separate per-participant tracks for editing.

It also includes a Prep Notes workspace for episode research, a soundboard for live sound effects, live chat, and a plugin system for extending functionality.

What's the difference between the hosted and self-hosted versions?

The studio software is identical — every feature is available in both versions. The difference is who manages the server.

Hosted: We provision and maintain a private server instance for you. You sign up, choose a subdomain, and your studio is ready in under a minute. Updates, TLS, and backups are handled for you.

Self-hosted: You deploy the open-source code to a server you control — a VPS, Fly.io, or even localhost. You're responsible for setup, updates, and storage. It's free forever.

Do guests need to create an account or install anything?

No. There are no user accounts in Podcast Studio. Access is password-based — you share the Guest password with whoever is joining. They open your studio URL in a browser, type the password, and they're in. No sign-up, no download, nothing to install.

What browsers are supported?

Any modern browser with WebRTC and the MediaRecorder API: Chrome, Edge, and Brave work best. Firefox is supported. Safari works for joining and listening but has limited support for the MediaRecorder API, which may affect local recording quality. HTTPS is required — WebRTC won't work on plain HTTP.

How many people can join a session?

Comfortably 4–5 participants. WebRTC peer-to-peer connections scale non-linearly — each participant connects directly to every other participant, so bandwidth requirements grow with each additional person. Beyond 5, audio quality and stability can degrade depending on everyone's connection.

Recording
How does the recording actually work?

When you start recording, each participant's browser captures their own microphone using the browser's MediaRecorder API. The audio is encoded locally and uploaded to the server in small chunks (every few seconds) as you record. This means recording is crash-resistant — if a participant disconnects, the chunks already uploaded are preserved.

At the end of the session, the host clicks Finalize, which concatenates each participant's chunks into a single .webm file per person. These files can then be downloaded from the Settings page.

What format are the recording files?

Recordings are saved as .webm files (WebM audio with Opus encoding). Most DAWs and audio editors can open WebM files directly, or you can convert them to WAV or MP3 using a tool like FFmpeg (ffmpeg -i input.webm output.wav) or Audacity.

What happens if someone's connection drops mid-recording?

Because audio chunks are uploaded to the server continuously as you record, a dropped connection only loses the few seconds of audio that hadn't been uploaded yet. The participant can rejoin and start a new recording segment — you'll have two separate files for that participant which can be merged in your editor.

How do I keep tracks in sync when editing?

Podcast Studio plays a sync tone at the start of each recording — a short audible click that all participants record simultaneously. When you import the separate tracks into your DAW, align the sync tones to lock every track to the same timeline. Many editors (Reaper, Logic, Descript) can detect these automatically.

Can I record video as well?

Participants can share their camera for the live session so everyone can see each other, but the current version only records audio tracks — not video. Video capture may be added in a future release.

Self-hosting
What do I need to self-host?

A server with Node.js 18+ and HTTPS. That's it. The app has two npm dependencies (dotenv and ws) and uses the filesystem for storage — no database required. A $5–10/month VPS (Hetzner, DigitalOcean, Vultr) running Ubuntu is plenty. The repo includes a deploy script that installs Node, PM2, and Caddy (which handles TLS automatically via Let's Encrypt).

How do I deploy it?

Clone the repo, copy .env.example to .env and set your passwords, then run deploy.sh on a fresh Ubuntu server. The script installs Node, sets up PM2 to keep the process running, and configures Caddy as a reverse proxy with automatic HTTPS. Point your domain's A record at the server IP and you're done.

Can I run it on Docker?

Yes. The repo includes a Dockerfile. Build with docker build -t podcast-studio . and run with your password env vars and a persistent volume for the data directories (recordings, clips, prep-notes, etc.) so recordings survive container restarts.

How much storage do I need?

Recordings are the main cost: roughly 1 MB per minute per participant track with Opus encoding. A 2-hour session with 3 participants is around 360 MB. For a weekly show, budget 1–2 GB per month and clear out old sessions periodically from the Settings page. Everything else (prep notes, screenshots, clips) is negligible.

Can I extend it with plugins?

Yes. The plugin system lets you drop a folder into plugins/ containing a manifest.json and an index.js. Plugins can add HTTP routes, WebSocket message handlers, and custom sidebar tabs in the studio UI. The plugins/hello-world/ directory in the repo is a minimal scaffold to get started.

Hosted plan
How long does it take to get a hosted studio?

Under a minute from completing signup. When your payment processes, we automatically provision a private server instance and send you a welcome email with your studio URL and passwords. No waiting for manual setup.

What URL does my studio get?

Your studio runs at yourslug.podcaststudio.app (or similar), where yourslug is the name you choose at signup. Each hosted studio is a completely isolated instance — your data is never shared with or visible to other customers.

Can I use my own domain name?

Custom domain support is not included in the initial hosted plan. You can use a CNAME or reverse proxy to point your domain at your studio URL as a workaround, though TLS will be issued for the podcaststudio.app subdomain. Custom domain support is on the roadmap.

Who has access to my studio?

Only people with the passwords you share. There are three roles — Host, Member, and Guest — each with their own password. We (as the operator) have infrastructure-level access to the server for maintenance, but we do not access your recordings or prep notes in the normal course of operations.

Can I change my studio passwords?

Yes, through your account dashboard. Password changes take effect within seconds and require any connected users to re-authenticate on their next action.

Can I cancel anytime?

Yes. Cancel from your Stripe billing portal at any time. Your studio stays active through the end of your billing period. After cancellation, your instance is suspended and your data is retained for 30 days, giving you time to download your recordings before they are deleted.

Is there a free trial?

We don't currently offer a free trial of the hosted plan — but you can run the app for free on your own machine by following the self-hosting instructions. It's the same software, so you can evaluate it thoroughly before subscribing.

Privacy & security
Does audio travel through your servers?

No. Live audio and video during a session travel directly between participants via WebRTC — peer to peer. The server handles signaling (telling participants how to connect to each other) but never receives or processes the live media streams. The only audio that reaches the server is the recorded chunks that your browser uploads after capturing them locally.

Where are my recordings stored?

Self-hosted: On your own server, in whatever location you deploy to. Entirely under your control.

Hosted plan: On an isolated server instance provisioned for your studio. Recordings are stored on the instance's persistent volume. We do not copy or process your recordings — they sit on disk until you download or delete them.

Is the studio app secure?

The studio uses bearer token authentication with 12-hour session TTLs. Download links for recordings are direct and unauthenticated once issued — don't share them publicly. The server is designed to be deployed behind a TLS-terminating reverse proxy (Caddy or similar); running it on plain HTTP is not recommended for production use. The codebase is open source — you can review it at any time.

What data do you collect for the hosted plan?

For billing purposes we collect your email address and payment information (processed by Stripe — we never see your full card number). We store the timestamps of provisioning and usage events for operational purposes. We do not collect analytics from inside your studio, and we do not read your recordings, prep notes, or chat messages.

Still have questions?

Open an issue on GitHub or reach out — we're happy to help.

Get a hosted studio Open a GitHub issue