Back to Home

VoxPort Studio Documentation

Getting Started

VoxPort Studio is a creator-first podcast publishing platform. Record in your browser, publish everywhere via RSS, and own your identity through the AT Protocol. No platform lock-in.

Sign In

  1. 1. Click “Sign In” on the homepage or any studio page. You'll be redirected to Bluesky's OAuth login — no separate password needed.
  2. 2. Authorize VoxPort in the Bluesky consent screen. This grants VoxPort permission to create podcast records on your AT Protocol identity.
  3. 3. You're in. After redirect, you'll land on the Studio dashboard at /studio.

Create Your First Series

A Series is your podcast show. Before uploading or recording episodes, you need at least one series.

  1. 1. Go to Studio → Series and click “New Series”.
  2. 2. Fill in the details: title, handle (your show's URL slug), description, and select an Apple Podcasts category (required for RSS validation).
  3. 3. Upload cover art (optional but recommended). Square image, minimum 1400×1400px. JPG or PNG.
  4. 4. Click “Create Series”. Your series is created as a draft. Click “Publish” to generate your RSS feed and ATProto records.

Tip

You need a series published before you can get an RSS feed URL for Apple Podcasts / Spotify submission. You can record and upload episodes to a draft series, then publish everything at once.

Recording Booth

The Recording Booth is a full in-browser recording studio. No software to install — it captures audio directly from your microphone, processes it with professional effects, and encodes it as MP3 ready for publishing.

Open the Recording Booth →

How It Works

  1. Select your microphone from the device selector. VoxPort lists all available audio input devices connected to your browser.
  2. Run a Sound Check (optional but recommended). Click “Sound Check” to see your input levels in real-time before recording. Adjust your gain in Settings if levels are too low or clipping (hitting red).
  3. Press Record. If the 3-second countdown is enabled, you'll get a visual countdown before recording starts. The waveform display shows your audio in real-time, and the level meter shows peak levels.
  4. Mark chapters while recording by pressing M or clicking the chapter marker button. Each marker captures a timestamp and can be renamed later.
  5. Pause and resume anytime with P. Paused segments are included in the final recording.
  6. Stop to finish. Press Space again or click stop. The audio is processed (post-processing effects applied) and encoded as MP3.

Keyboard Shortcuts

KeyAction
SpaceStart / Stop recording
PPause / Resume
MAdd chapter marker
RNew take (after stopping)
EnterUse recording (after stopping)
EscCancel countdown
⌘/Ctrl+ZUndo last chapter marker

Chapter Markers

Chapter markers let you flag important moments in your recording — segment starts, guest intros, topic changes. They're captured with a timestamp during recording and can be renamed afterward. When you publish, markers are included as chapter metadata in your episode.

To rename a marker after recording: click the marker label text in the marker list and type a new name. Press Enter to save or Esc to cancel.

Multiple Takes

After stopping a recording, you can start a new take without losing the previous one. All takes are saved and can be compared side by side. Click “New Take” or press R. Use the Take List to switch between takes, delete unwanted ones, and select the best take for publishing.

Crash Recovery

If your browser crashes or you accidentally close the tab during a recording, VoxPort automatically saves your audio to local storage. When you return to the Recording Booth, you'll see a recovery prompt with the saved recording's date, duration, and options to recover or discard it.

Recording Limits

  • Maximum duration: 3 hours per recording. A warning appears at 2.5 hours.
  • Keep the tab active: Backgrounded tabs may have audio interruptions. A warning appears if you switch tabs during recording.
  • High CPU warning: If your device is struggling, try disabling noise suppression in settings for smoother recording.

Recording Settings

The settings panel is collapsible below the recording controls. Settings are saved to your browser and persist across sessions. Some settings cannot be changed while recording is active.

Audio Settings

Input Level (Gain)

Controls how loudly your microphone captures audio. Range: 0.0× to 2.0×. 1.0× is unity gain (your mic's native level). Increase if your audio is too quiet, decrease if you're clipping. Use Sound Check to find the right level before recording.

Noise Suppression

Reduces background noise (fans, AC, keyboard sounds) using the browser's built-in noise cancellation. Enabled by default. Disable if you're experiencing high CPU usage or if it's cutting off quiet speech segments.

High-Pass Filter

Removes low-frequency rumble below 80Hz — things like HVAC vibrations, desk thumps, and microphone handling noise. Recommended for voice recording.

Compressor

Smooths out volume differences between loud and quiet parts. Makes your audio more consistent and easier to listen to. Advanced settings let you adjust threshold (when compression kicks in) and ratio (how aggressively it compresses).

Recording Options

3-Second Countdown

Shows a visual 3-2-1 countdown before recording starts, giving you time to prepare. Cancel with Esc.

Direct Monitoring

Lets you hear yourself through headphones while recording, so you can monitor audio quality in real-time. Always wear headphones when this is enabled — speakers will cause loud echo and feedback.

Recording Quality

Voice (default)

Mono · 48kHz · 128kbps MP3. Optimized for spoken word podcasts.

Music

Stereo · 48kHz · 256kbps MP3. Higher bitrate for music podcasts.

Custom

Choose mono/stereo and bitrate (96, 128, 192, or 256kbps).

How quality affects your podcast: Higher bitrates produce larger file sizes and better audio fidelity. For most talk podcasts, 128kbps mono is the sweet spot — small downloads for listeners, clear speech. Music podcasts benefit from 256kbps stereo. All recordings are encoded as MP3, the universal podcast format.

Post-Processing Effects

Applied automatically after you stop recording, before the MP3 is saved:

Auto-Trim Silence

Removes leading and trailing silence from your recording. Adjustable threshold (-60dB to -20dB) controls what counts as “silence.”

Fade In/Out

Adds a smooth volume fade at the start and end of your recording. Adjustable duration (100ms to 2000ms). Prevents abrupt starts and stops.

Noise Gate

Silences audio below a threshold — good for cutting out coughs, sighs, and background chatter between sentences. Adjustable threshold (-60dB to -20dB). Set carefully: too high and it'll cut off quiet speech.

Normalize

Scales your entire recording to a target peak level (-12dB to 0dB). Ensures consistent loudness across episodes. -3dB is a common target for podcasts.

Preview & Trim

After you stop recording, the Preview Player appears. Here you can listen back, trim unwanted sections, download the MP3, or send it straight to the episode form.

Playback Controls

  • Play/Pause — Click the waveform or play button
  • Seek — Click anywhere on the waveform to jump to that point
  • Playback speed — 1×, 1.25×, 1.5×, or 2× for quick review
  • Volume — Adjust preview volume independently
  • Chapter markers — Displayed on the waveform as vertical lines

Trimming

  1. 1. Click “Trim” to enter trim mode. Drag handles appear on the waveform.
  2. 2. Drag the start and end handles to select the region you want to keep.
  3. 3. Click “Play selected” to loop the selected region and verify your edit.
  4. 4. Click “Apply Trim” to cut the audio. The trimmed version replaces your recording.
  5. 5. Undo — If you made a mistake, click “Undo Trim” to revert to the pre-trim version.

Actions

  • Download — Save the MP3 file to your computer
  • New Take — Discard and start a fresh recording (previous takes are preserved in the Take List)
  • Use this recording — Send the audio to the episode form to add metadata and publish

Uploading Episodes

Prefer to record with your own tools? You can upload pre-recorded audio files too. Both paths — record in-browser or upload a file — end at the same episode form.

Go to Episodes →

File Requirements

  • Formats: MP3, WAV, M4A, OGG, and other common audio formats
  • Size: No hard limit, but files are uploaded to Cloudflare R2 storage. Large files take longer to upload.
  • Upload progress: A full-screen overlay shows upload percentage. Don't close the tab during upload.

Episode Form Fields

Series *

Required. Select which podcast show this episode belongs to.

Episode Title *

Required, max 255 characters. This appears in podcast directories and on your public page.

Description

Optional, max 4000 characters. Shows up in RSS feed and on your episode's public page.

Publish Options

Publish now — Episode goes live immediately and appears in your RSS feed.
Save as draft — Audio is uploaded but episode stays unpublished. You can publish later from the series page.

Auto-Save Draft

The episode form auto-saves your title, description, and series selection to browser local storage every 500ms. If you accidentally close the tab, your form data will be restored when you come back. The draft is cleared after successful publishing.

Recording Metadata

When you record in the Recording Booth and then publish, the episode form shows a badge with your recording metadata — microphone name, channel count, bitrate, and recording date. Chapter markers from the recording are also displayed and included in the published episode.

Series Management

A Series is your podcast show. You can have multiple series under one account. Each series has its own handle, RSS feed, cover art, and episode list.

Go to Series →

Creating a Series

  1. 1. Details step: Title, handle (URL slug, lowercase letters/numbers/hyphens only), description, and Apple Podcasts category.
  2. 2. Cover step: Upload a square cover image (1400×1400px or larger, JPG/PNG). Optional but recommended — directories require it.
  3. 3. Success: Your series is created as a draft.

Series Fields

Title

Your podcast show name. Appears in directories and on your public page.

Handle

URL slug for your public page: voxport.live/p/your-handle. Lowercase letters, numbers, and hyphens only.

Category

Apple Podcasts category. Required for RSS validation — without it, Apple Podcasts will reject your feed.

Author & Owner Info

Author name, owner name, and owner email for RSS metadata. Used by podcast directories for verification.

Cover Art

Square image, 1400×1400px minimum. Stored on Cloudflare R2. Appears in directories and on your public page.

Publishing a Series

Draft series are private — only you can see them. Publishing a series:

  • • Generates your RSS feed URL (see RSS Export)
  • • Creates ATProto records for the series (see ATProto & Bluesky)
  • • Makes your public podcast page accessible at /p/your-handle
  • • Published episodes appear in the RSS feed and on the public page

Editing & Deleting

Click any series to view its detail page. From there you can edit details, upload new cover art, publish/unpublish, or delete the series. Deleting a published series also removes its ATProto records and episodes from the PDS. This action cannot be undone.

RSS Export

Every published series on VoxPort gets a standard RSS 2.0 feed with podcast extensions (itunes tags). This feed is compatible with Apple Podcasts, Spotify, Google Podcasts, Amazon Music, and any other podcast directory that accepts RSS URLs.

Finding Your RSS URL

  1. 1. Go to Studio → Series
  2. 2. Click your published series
  3. 3. Scroll to the “RSS Feed URL” section
  4. 4. Copy the URL or click “Open” to view the raw XML

The URL format is: https://voxport-api.fly.dev/v1/rss/your-handle.xml

Submitting to Directories

Apple Podcasts

Go to Podcasts Connect, sign in with an Apple ID, click “New Show”, and paste your RSS URL. Apple reviews new shows (usually 1-5 days). You'll need a category set and cover art for approval.

Spotify

Go to Spotify for Podcasters, sign in, and submit your RSS URL. Spotify typically processes new shows within a few hours.

Other Directories

Amazon Music, Google Podcasts, Pocket Casts, Overcast, and most apps support RSS submission. Just paste your RSS URL in their respective podcast submission pages.

Important

Your series must be published and have a category set before submitting to Apple Podcasts. Without a category, the RSS feed won't pass Apple's validation. You'll see a warning on the series detail page if no category is set.

How RSS Updates Work

When you publish a new episode, update episode metadata, or change series details, your RSS feed updates automatically. Directories check feeds periodically (usually every few hours) and pick up new content. You don't need to resubmit — just publish and wait for directories to sync.

RSS Import

Already hosting your podcast somewhere else? You can import your existing RSS feed into VoxPort to get a presence on the platform without re-hosting your audio. VoxPort reads your feed, creates a series and episodes, and points to your existing audio files.

Go to RSS Import →

How It Works

  1. 1. Enter your RSS feed URL — The public URL from your current podcast host (Buzzsprout, Libsyn, Transistor, Anchor, etc.)
  2. 2. Preview the feed — VoxPort fetches and displays your podcast title, description, cover art, author, and latest episodes so you can confirm it's the right one.
  3. 3. Import — We create a series on VoxPort with your podcast metadata and add all episodes. Audio files stay on your existing host — we don't re-host them.
  4. 4. Publish to ATProto (optional) — After import, you can create ATProto records for the series and episodes. This makes your podcast discoverable on Bluesky and the wider ATProto network.
  5. 5. Auto-sync — VoxPort checks your feed every 6 hours for new episodes and imports them automatically.

Key difference from hosting on VoxPort

When you import a feed, audio files are served from your existing host. VoxPort displays the episodes and provides social features (follows, likes, saves) but doesn't store the audio. If you later want VoxPort to host your audio, you can upload new episodes directly and they'll use VoxPort storage.

After Import

  • • Your imported series appears in Studio → Series like any other series
  • • You get a public page at /p/your-imported-handle
  • • Listeners can follow, like, and save your episodes on VoxPort
  • • You can publish to ATProto for Bluesky discovery at any time from the series page
  • • New episodes in your original feed are synced automatically every 6 hours

Analytics

VoxPort provides real-time analytics for your episodes, plus social engagement metrics from the Bluesky / ATProto network.

Go to Analytics →

Episode Analytics

The main analytics page shows a sortable table of all your episodes with:

  • Play count — Total plays per episode
  • Like count — Total likes from VoxPort and Bluesky users
  • Status — Draft or Published
  • Published date
  • Series — Which show the episode belongs to

Sort by Most Plays, Most Likes, or Most Recent. Click “View Velocity” on any episode to see detailed engagement metrics over time.

Engagement Velocity

The velocity view shows hourly engagement metrics for a single episode — plays, likes, and social mentions plotted over time. This helps you understand how your episode performs in the critical first hours and days after publishing.

Social Mentions

The Mentions page shows Bluesky posts that mention your episodes or podcast handle. VoxPort monitors the ATProto firehose (Jetstream) in real-time and links mentions to your content. Filter by episode, series, or date.

Bluesky Activity Feed & Top Engagers

A live feed of social interactions with your podcast on Bluesky — likes, reposts, replies, and follows from Bluesky users. The Top Engagers widget shows which Bluesky users interact with your podcast the most, useful for identifying your most active listeners and building community.

Social Features

VoxPort includes built-in social features powered by the AT Protocol. These work across VoxPort and Bluesky — actions on VoxPort sync to your Bluesky identity.

Follow

Follow podcast creators to get updates when they publish new episodes. Following on VoxPort creates an app.bsky.graph.follow record on your AT Protocol identity — the same as following on Bluesky.

Like

Like individual episodes. Liking creates an ATProto like record and contributes to the episode's engagement metrics. Likes are visible to the creator in analytics.

Save (Listen Later)

Save episodes to a “Listen Later” queue. Saved episodes are accessible from your profile and can be played at any time from the audio player bar.

Play Progress

VoxPort tracks your listening progress on each episode. If you pause and come back later, the player resumes from where you left off. The progress bar on the player shows how far you've gotten.

Discover

The Discover page shows podcasts on VoxPort that you might enjoy. Browse by category, see what's trending, and find new shows from independent creators.

Profile Settings

Manage your creator profile from Studio → Settings. Your profile is visible to listeners on your public podcast page.

Editable Fields

  • Display Name — Your creator name shown on your profile and podcast pages
  • Handle — Your Bluesky handle (read-only, managed via Bluesky)
  • Bio — Short description of yourself or your podcast
  • Avatar — Profile image. Automatically resized to 800×800px and compressed to under 1MB on upload. Supports JPEG, PNG, WebP, and GIF.

ATProto & Bluesky

VoxPort is built on the AT Protocol — the same decentralized identity layer that powers Bluesky. This means your identity is portable, your data is yours, and your podcast can reach audiences across the entire ATProto network.

What This Means for You

  • Portable identity: Your Bluesky account IS your VoxPort account. No separate login. If Bluesky changes or you move to another ATProto app, your podcast identity goes with you.
  • No platform lock-in: Your podcast records live on your AT Protocol identity, not in VoxPort's silo. You can export or migrate at any time.
  • Bluesky discovery: When you publish a series to ATProto, your podcast becomes discoverable by Bluesky users. Likes, follows, and mentions on Bluesky sync to your VoxPort analytics.
  • Custom lexicons: VoxPort uses custom AT Protocol record types (live.voxport.podcast.series and live.voxport.podcast.episode) for podcast metadata.

Publishing to ATProto

When you publish a series, VoxPort creates ATProto records on your identity. This is separate from RSS — RSS goes to traditional podcast directories (Apple, Spotify), while ATProto records go to the Bluesky network. You can publish to both for maximum reach, or just RSS if you don't need Bluesky discovery.

OAuth Authentication

VoxPort uses AT Protocol OAuth (PKCE flow) for authentication. When you sign in, you're redirected to Bluesky's authorization server. VoxPort never sees your password — it only receives an OAuth token with scoped permissions to create podcast records on your behalf.

Browser Support

VoxPort Studio works in modern browsers. The Recording Booth uses the Web Audio API and MediaRecorder API, which have varying support across browsers.

Recommended Browsers

  • Chrome / Edge (desktop) — Best experience. Full audio processing support, noise suppression, all features.
  • Firefox (desktop) — Good experience. Most features work. Noise suppression may be less effective.
  • Safari (desktop) — Supported but some audio processing features may be limited.
  • Mobile browsers — Not recommended for recording. The Recording Booth is optimized for desktop. Listening and browsing work fine on mobile.

Requirements

  • • Microphone access permission
  • • JavaScript enabled
  • • Cookies enabled (for authentication)
  • • Stable internet connection for uploads and publishing

FAQ

Do I need a Bluesky account to use VoxPort?

Yes. VoxPort uses Bluesky (AT Protocol) for authentication. You sign in with your Bluesky account — no separate password. If you don't have one, you can create a free account at bsky.app.

Is my audio stored on Bluesky?

No. Audio files are stored on Cloudflare R2 (VoxPort's storage). Only metadata (title, description, chapter markers) is published as ATProto records. Audio is served from R2 via signed URLs.

Can I use VoxPort without Bluesky / ATProto?

You need a Bluesky account to sign in, but you don't have to publish to ATProto. You can use VoxPort purely for recording and RSS distribution. ATProto publishing is optional — just skip the “Publish to ATProto” step.

What audio format does the Recording Booth produce?

MP3. The Recording Booth encodes all recordings as MP3 using the LAME encoder in the browser. You choose the bitrate (128kbps for voice, 256kbps for music) in the settings.

Can I edit my episodes after publishing?

Yes. Go to your series page, find the episode, and edit its metadata (title, description). The RSS feed updates automatically. Note: audio files cannot be replaced after publishing — you'd need to delete and re-upload the episode.

How much does VoxPort cost?

VoxPort is currently free to use. We're focused on building the best creator experience first. Pricing for premium features may be introduced in the future, but core recording and publishing will remain accessible.

What happens to my podcast if VoxPort shuts down?

Your ATProto records live on your identity, not on VoxPort's servers. Any ATProto-compatible app can read them. Your RSS feed is standard RSS 2.0 — any podcast directory can continue serving your episodes. Your audio files on R2 would need migration, but your metadata and identity are portable.

Can I import my existing podcast?

Yes! Use the RSS Import feature to bring your existing podcast into VoxPort. We'll create a series from your feed and display your episodes. Audio stays on your current host.

Ready to start podcasting?

Record, publish, and own your audience — all from your browser.