Migrate/consolidate existing podcast guest intake into DataOps (not greenfield)

オープン
#251 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
javascript
領域
backend, tooling

調査の方向性

Start with the existing dataops podcast doc templates and the listed podcast SOPs, then trace the guest intake and CalendarHold flow in DataOps. Map each stated gap onto those existing steps, keeping the topic at invite time, the guest form optional, and research/run-sheet work after date confirmation. Done means the intake and remaining steps are consolidated or explicitly deferred, and the Valeriia end-to-end test case is completed.

索引モデルが issue の本文から書いたものです。

説明

design enhancement migration P2 podcast portal

Context

Alexey correction (2026-10-21): Orin wrongly filed this as greenfield backlog. Podcast guest intake already exists in DataOps portal docs — migrate/consolidate that surface, do not invent a new form from scratch.

Valeriia feedback (Telegram): Grace-era flow was many separate emails (pick time → bio/links → topic/doc answers → post-episode share links). She wants one self-serve pack similar in spirit to the sponsor content form. She already saw something for podcasts in Ops — that is the existing guest materials / episode-brief portal docs.

Alexey refinements for the Valeriia test + process (same day):

  1. Run the new intake end-to-end as the test (thank-you for feedback + invite as guest + topic set up front + optional form).
  2. Topic is set in DataOps at invite/propose time (not left blank). Invites often already have a theme — make recording that intended topic in DataOps obvious.
  3. Guest form is optional — guest may reply in ~two sentences instead of filling every field.
  4. Do not run guest research until the date is confirmed; research starts after confirm.
  5. Day/slot still proposed as today; form goes with/after the invite as usual.

What already exists (do not rebuild)

Guest-facing portal docs (dataops podcast doc)

Shareable URL pattern: https://ops.dtcdev.click/sponsor-docs/<doc-id> (+ access code from dataops podcast doc show / email / create … --email).

Template key Link slot Role
podcast (default) Sponsorship document Guest-facing materials — bio, links, topic/prep Q&A
podcast-episode-brief Episode brief Planning brief (replaces Google Doc brief)
podcast-guest-research Guest research Staff-only research (after date confirm)
podcast-run-sheet Host run sheet Staff-only live sheet (after date confirm)

podcast (Materials from the Guest) fields today:

  • guestName, introduction (bio), currentFocus, topicsToCover, topicsToAvoid
  • linkedinUrl, twitterUrl, githubUrl, websiteUrl
  • hookAndPainPoint, keyInsightsAndMilestones, actionableTakeaway
  • sponsorNotes

Field types are text / textarea only — no photo/file upload type in portal docs yet.

Calendar / slotting (separate from the form)
  • dataops calendar slots|day|propose|confirm-hold|release-hold
  • Podcast = 60 min (not workshop 90); evening preferred; midday only if guest asks — see reference.events.calendar.select-event-calendar-slots, sop.media.podcast.select-and-propose-a-date-for-events
  • Guest does not self-pick a synced slot inside the portal doc today; ops still proposes day/slot by email + CalendarHold
Emails / SOPs still used separately (Grace-era chain)
  • First contact + propose date: template.media.podcast.podcast-process-first-contact-email-starting-the-process
  • Share brief / ask bio: template.media.podcast.podcast-adding-johanna-and-sending-the-podcast-link-to-the-speaker + sop.media.podcast.create-podcast-document
  • Add bio into brief: sop.media.podcast.add-a-guest-bio-to-the-podcast-document
  • Post-episode links ask: template.media.podcast.podcast-links-after-the-event-is-over
  • Speaker profile / photo: website _people via dataops speakers / sop.events.planning.create-speaker-profiles-via-airtable-form (not in guest materials form)
  • Workflow map: task-template.tasks.podcast (guest-intake → prep-document phases)

Goal (retargeted)

Migrate and consolidate the existing podcast portal-doc intake + calendar holds + remaining email steps into one guest UX wired to DataOps — not a greenfield form. Preserve: topic-at-invite, optional form, research-only-after-confirm.

Gaps only (build these; reuse the rest)

Feature Status Notes
Bio + links + prep/topic answers in guest-facing portal doc Have podcast template
Episode brief + staff research/run-sheet templates Have research/run-sheet must stay post-confirm
Shareable link + access code + submit/reopen Have
Intended topic recorded in DataOps at invite/propose time Partial / missing Episode/card often created later; title/topic left TBA. Make topic-at-invite a first-class field/step
Guest form treated as optional (short reply OK) Partial / missing SOPs/emails still push “fill the document”; no explicit optional path
Research gated until date confirmed Partial SOP order implies research with prep docs; process must forbid research before confirm
Calendar sync / guest self-serve slot pick in the form Missing ops proposes via CalendarHold + email
Photo upload in intake Missing speakers photo is separate; portal fields text/textarea only
Post-episode links in same intake (or linked later step) Partial separate email template
One-form UX collapsing date + materials + photo + post links Partial / missing materials form exists; date/photo/post-links still separate
Auto meeting link from intake Partial guest invite after confirm-hold; not auto from form submit
Collapse Grace-era multi-email chain Missing SOPs still call separate emails

Related SOPs / refs

  • sop.media.podcast.create-podcast-document
  • template.media.podcast.podcast-adding-johanna-and-sending-the-podcast-link-to-the-speaker
  • template.media.podcast.podcast-process-first-contact-email-starting-the-process
  • sop.media.podcast.select-and-propose-a-date-for-events
  • reference.events.calendar.select-event-calendar-slots
  • sop.events.calendar.creating-tentative-event-on-google-calendar
  • sop.media.podcast.prepare-ai-research-and-host-run-sheet (after confirm only)
  • template.media.podcast.podcast-links-after-the-event-is-over
  • task-template.tasks.podcast
  • Sponsor content form (UX pattern to mirror, not a blank slate)

Non-goals

  • Replacing human guest outreach entirely
  • Greenfield redesign that abandons dataops podcast doc templates
  • Using workshop 90-min slot rules for podcasts
  • Running guest research before date confirm
  • Requiring guests to fill the full form

Test case

Invite Valeriia ([email protected]) as podcast guest (not content-team Telegram handoff) using the new flow end-to-end:

  • Thank her for the intake feedback
  • Invite as guest with topic set up front in DataOps (e.g. “Content management with AI at DataTalks.Club”)
  • Propose day/slot as today (CalendarHold path)
  • Attach optional guest materials form (podcast template); allow a short email reply instead
  • Research/run-sheet only after she confirms the date

Do not close this issue as complete until gaps above are closed or explicitly deferred.

Source

Valeriia → Alexey Telegram, 2026-10-21. Orin filed greenfield; Alexey retargeted to migrate/consolidate + process refinements (audit 2026-10-21).

主要言語
JavaScript
スター
3
フォーク
0
平均マージ
1時間 4分
マージ済み PR(30日)
1

環境構築

  • Dockerfile または Docker Compose ファイルあり
  • プルリクエストのテンプレートなし
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

DataTalksClub/dataops のほかの issue

DataTalksClub/dataops の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。