HarborFM
Open source podcast creation. Build episodes from segments — record, trim, reorder — then export audio and RSS.
About
HarborFM is a modern replacement for Anchor.fm. Create shows, add episodes, and build each episode from segments: record or upload clips, pull intros and bumpers from a library, trim and reorder, then export a single audio file and RSS feed. The app has PWA support — add it to your home screen and connect to your server.
Optional: transcripts via Whisper ASR, LLM helpers (Ollama or OpenAI) for copy suggestions, and public feed pages for discovery. Deploy feeds and audio to S3, R2, FTP, SFTP, WebDAV, IPFS, or SMB.
Features
Screenshots
Dashboard, episode editor, recording, and podcast delivery.
Tech stack
Monorepo (pnpm workspaces): shared (Zod schemas, types), server (Fastify API, SQLite with better-sqlite3, ffmpeg for audio), web (React, Vite, TanStack Query). Single Node process serves the API and static web app; no separate database server.
Project structure
harborfm/
├── server/ # API and app entry
├── web/ # React frontend
├── shared/ # Shared schemas and types
├── Dockerfile # Multi-stage build, Node + ffmpeg
└── pnpm-workspace.yaml Requirements
For local dev: Node.js 22+, pnpm, ffmpeg, audiowaveform (e.g. brew install audiowaveform on macOS; on Linux, build from bbc/audiowaveform or use a package if available). The Docker image includes ffmpeg.