Audio & videoCAN I VIBECODE
Captivate?
BUILD FIRST
- A non-sensitive or read-only version of the core experience
- A manual review step wherever correctness or trust matters
- A narrow companion tool that removes a real piece of work
LEAVE FOR LATER
- Regulated decisions, payments, or irreversible actions
- Claims of correctness, compliance, or uptime that the MVP cannot support
- Sensitive integrations until security, support, and auditability are ready
RESEARCH NOTES
What this tool actually does.
Captivate (captivate.fm) is a subscription-based podcast hosting platform. Its core workflow is uploading audio episodes, publishing to major podcast directories, and managing show distribution. Differentiating features include: Transcription Support; AMIE, an audio monetization/insertion engine for dynamic ad placement; a Dynamic Show Notes Builder; full removal of Captivate branding; a customizable, embeddable audio player; and Custom Playlist Collections for grouping episodes. These features are included across all paid plans, with no free tier advertised. The platform positions itself on rapid feature development and open user feature requests. A separate product, Adobe Captivate, is an unrelated eLearning authoring tool with a similar name; it is not the product under review given the Audio & video category.
RESEARCHED BUILD PROMPT
Give this to your coding agent.
Build a focused replacement for Captivate (captivate.fm), the podcast hosting platform. The core workflow: a podcaster creates a show, uploads an audio file per episode, adds metadata, and publishes a public episode page with an embeddable player. The system must generate an RSS 2.0 feed validated for Apple Podcasts/Spotify submission. Show-level and episode-level pages must be server-rendered for SEO. Add the four distinctive Captivate-style features: (1) automated transcription per episode (use a pluggable STT service such as OpenAI Whisper API with a local fallback stub), (2) a dynamic ad-insertion engine: toggling 'pre-roll/mid-roll' segments per episode that rewrite the episode audio stream on publish, (3) a show-notes builder with a markdown editor and live preview that inserts timestamps linked to the audio player, and (4) a customizable embeddable player widget: a JS snippet hosting an audio element with subscribe links, branding toggle, and theme color variables. Users must be able to create themed playlist collections that surface as separate RSS feeds. User accounts must support multiple shows and per-episode draft/publish states. Implement with Next.js (App Router) or Remix, PostgreSQL (or SQLite for single-user demo) for metadata, S3-compatible object storage for audio, and a background queue (e.g., BullMQ/Redis or a simple worker process) for transcription and audio re-muxing. Do not copy Captivate's brand, logo, exact copy, or pixel-perfect UI; design an original, clean layout. Out of scope: native mobile apps, live streaming, collaborative team editing, podcast directory submission wizards, analytics dashboards beyond basic play counts, and monetization/payment processing. Deliver a README covering local setup, environment variables, architecture notes, and important limitations (e.g., STT costs, storage scaling, RSS caching behavior).