Media

Guest booking for a podcast

A podcast tracks potential guests through outreach, scheduling and recording. Guests pick a slot from the host's availability, receive the brief automatically, and the host sees which episodes are recorded but not yet published.

Automatically generated draft

Written by machine against our own engineering playbook. The company is invented; the decisions are the ones we would make on a real build. A reviewed blueprint goes further — nine sections, agreed line by line, and it is what the build is tested against.

Section 01 · What has to work

A podcast guest pipeline tracker that automatically synchronizes guest bookings with brief distribution and post-recording status.

Section 03 · Screens

Every screen, and what it is for.

  • ›Outreach Dashboard — Host tracks invite status, the one thing that must be instant is updating lead stages.
  • ›Availability Setup — Host defines open slots, the one thing that must be instant is saving time blocks.
  • ›Guest Booking Page — Guest picks a slot, the one thing that must be instant is slot reservation.
  • ›Recording Queue — Host views unpublished episodes, the one thing that must be instant is marking an episode recorded.

Anything not on this list is not in version one. That is what keeps a fixed price fixed.

Section 04 · The data model

What it stores, and who can read a row.

podcast_lead

id uuid, host_id uuid, name text, email text, status enum(prospect, contacted, booked, recorded, published), created_at timestamptz

Access · Host can read rows where host_id matches auth.uid().

availability_slot

id uuid, host_id uuid, start_time timestamptz, end_time timestamptz, is_booked boolean

Access · Host can read all rows; guests can read rows where is_booked is false.

episode

id uuid, host_id uuid, guest_id uuid, slot_id uuid, brief_sent boolean, status enum(scheduled, recorded, published), recorded_at timestamptz

Access · Host can read rows where host_id matches auth.uid().

Those access rules belong in the database, not in the screens. Someone who edits the address bar still cannot read a row that is not theirs — and the test that proves it blocks delivery if it fails.

Section 05 · States

prospect → contacted → booked → recorded → published

Most scope arguments three weeks into a build are really arguments about a state nobody named at the start.

Section 06 · Where this breaks

What bites products like this one.

Double-booking slots when two guests pick the same time concurrently over poor network connections.

Enforce database unique constraints on slot_id and use serializable transactions during guest slot selection.

Automated brief emails failing to send due to third-party SMTP rate limits or provider downtime.

Queue outbound emails in a database table and process via reliable background workers with exponential backoff.

Section 08 · Deliberately left out

What version one does not do.

  • ×Calendar sync with Google or Outlook — Building two-way calendar integration doubles v1 timeline; manual slot entry keeps v1 moving.
  • ×Customizable brief templates per episode — Hardcoding a single markdown brief template for v1 avoids complex editor state management.

This is the section that protects the date, and the only place in the document where somebody says no. It is also why clients trust the rest of it.

Still open

What we would ask before quoting.

  • Should brief emails be sent immediately upon booking confirmation or delayed by a specific time offset?
  • How many calendar days into the future are hosts allowed to publish their availability slots?

Half of this already exists

Members Circle

The community half of this is a solved problem: paid membership, moderation triaged automatically, and a weekly digest that brings people back.

It is one of our pre-built products: the code is handed over to you, adapted to your own wording and rules, and the rest of the specification above is built on top of it rather than from scratch.

Your product, not this one

Get this written for what you are actually building.

Describe it in a sentence and the generator returns the same sections for your own product. Free, no email, nothing saved to a list.

Next step

Find out if your idea fits in 10 working days.

Tell us what you want to build. We reply the same day with a straight yes, no, or here is what we would cut.

NDA available on request