YES

Replaceable in one session with an AI coding agent.

Podcast hosting with the feed, the download statistics and a website, aimed at people publishing from their own site rather than a platform.

Promptfree, for everyone, and the only version there is
Build me podcast hosting that replaces Castos — and read this first, because one mistake here loses the audience silently.

**The feed URL is stored in every listener's application.** Move it wrongly and they simply stop receiving episodes; nobody tells you, and you find out from a chart. The correct move is at the end of this prompt and it matters more than the code.

STACK
- Node 20+ with Fastify, server-rendered HTML
- SQLite through better-sqlite3, WAL mode
- ffmpeg for loudness normalisation and encoding
- Object storage with a delivery network in front
- Caddy in front

THE DATA MODEL
- shows: id, slug, title, description_html, author, owner_email, language, categories_json, explicit, artwork_path, feed_guid
- episodes: id, show_id, number, season, title, description_html, audio_path, audio_bytes, duration_ms, guid, published_at, status, transcript_path, chapters_json
- downloads: id, episode_id, at, ip_hash, user_agent_bucket, client_name, country, bytes_sent, range_start, range_end, is_counted, exclusion_reason — append-only, and the raw record behind every published figure
- **The episode guid is permanent and globally unique.** It is how every application knows whether it already has an episode; changing one republishes it to everybody

THE FEED, WHICH IS THE PRODUCT
- Valid RSS with the iTunes namespace every directory requires, plus the podcast namespace tags for transcripts and chapters
- The enclosure with a **correct length in bytes and the right MIME type**. A wrong length breaks downloads in some applications and is the most common mistake here
- Correct dates in the required format, in UTC, with a stable order for episodes published in the same minute
- Cache headers and conditional responses: thousands of applications poll this constantly
- **Validate against a real podcast feed validator in the test suite, on every build.** A feed that is invalid in a way one directory tolerates and another rejects is the failure you find weeks later

AUDIO
- Keep the original forever; produce the delivered file from it
- **Normalise loudness to around -16 LUFS for stereo** and report the measured value before and after. An episode much quieter than the last is the most common listener complaint
- Encode at a bitrate suited to speech; the difference on a two-hour episode is substantial
- ID3 tags: title, show, episode number, artwork, chapters
- Serve with range support and correct content length, behind a delivery network — podcast applications download aggressively and in parallel

COUNTING DOWNLOADS HONESTLY
- There is an actual industry standard and following it is what makes your numbers quotable. Roughly: one download per unique listener per episode per 24 hours, only when at least a minute of audio was delivered, excluding known bots and excluding duplicate range requests that reassemble one download
- So record every request with its range header and byte count, then apply those rules at query time. The raw rows stay and the counted figure is derived, so you can always explain how a number was produced
- **Publish the definition next to the number.** An advertiser who asks how you count and gets a vague answer discounts the figure

TRANSCRIPTS
- A local speech model producing WebVTT, linked from the feed and shown on the episode page. It is also the only text a search engine can index about your audio

MOVING, WHICH IS THE PART THAT MATTERS
- Import the existing feed keeping **every guid exactly as it was**
- Then at the old host, replace the feed with a 301 redirect to the new one and **leave it in place for months**. Applications follow it and update their stored address
- Only when traffic to the old feed has fallen to nothing should it be removed
- Submit the new feed to the directories that need it and check each has followed
- **Do not skip the redirect.** Without it every existing subscriber stops receiving episodes

WHAT MATTERS MOST
Feed validity and the redirect. Validate on every build, and treat the migration as the risky part rather than the build.

What you lose

  • A feed address already registered in every podcast application, which is what a move risks
  • Download counting to the standard advertisers accept
  • Bandwidth for audio, which is the recurring cost
  • A hosted player and a site you do not deploy

If you would rather not build

  • A static site plus an RSS file, which is genuinely enough to publish a podcast
  • The industry download standard, which is published and worth following

The escape hatch

open source · no votes, no paid placement

Castopod

$0

Open-source podcast hosting with a valid feed, statistics and a website.

ad-aures/castopodfree · open source

ffmpeg

$0

Loudness normalisation and encoding, which is the audio half.

FFmpeg/FFmpegfree · open source

Why this verdict

our own opinion · changed only by a person

80/100

Verdict yes at 80: a valid feed, a file and a counter. The migration is where the audience is lost, so the prompt spends its weight there rather than on the software.

History

tracked since 14 Aug 2026 · nothing is ever overwritten

Interest · last 30 days

Nothing recorded yet. This chart fills in once the page has visitors, votes or prompt copies — it will not draw a flat line to look busy.

Questions about Castos

answered from the record above

Is Castos free?

No — the plan we track is $19 a month. Starter at $19/month billed monthly, around $15 annually, with unlimited episodes.

Can you replace Castos by building your own?

YES. Replaceable in one session with an AI coding agent. Replacement score 80 out of 100, build time one session. Read what you lose before you decide.

How much does Castos cost?

$19 a month on Starter — $228 a year. Recorded 14 Aug 2026.

What do you lose by replacing Castos?

A feed address already registered in every podcast application, which is what a move risks; Download counting to the standard advertisers accept; Bandwidth for audio, which is the recurring cost; A hosted player and a site you do not deploy. If any of those carry weight for you, keep paying.

Is there an open-source alternative to Castos?

Yes: Castopod, ffmpeg. The prompt on this page is for when you want it your way instead.

Related entries

same category first, most replaced first

All 25 in Screen recording & video

Not sending yet

Every week, something stops being worth paying for.

New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.

free forever · no tracking pixel · stored here, never passed to anyone

Esc