# SOP — Going Live Pre-Flight Checklist

**Established:** 2026-05-03 (S83-H159)
**Owner:** Brady
**Read this:** Before every Live, especially the first 5–10 streams while routine forms.
**Time to read:** 4 minutes. Time to apply: 5 minutes per pre-flight.

---

## 1. Platform support matrix

What's wired vs not, end-to-end:

| Platform | Latency (default) | Latency (best-case) | /live/ Embed | Mobile Live | Recording | CMS Status |
|---|---|---|---|---|---|---|
| **TikTok** | 2–5 s | (no controls) | Deep-link CTA only — TikTok Lives can't be iframed | ✅ | ❌ default (need Live Studio desktop) | ✅ Wired (paste URL post-go-live) |
| **YouTube Live** | 10–15 s (Normal) | <2 s (Ultra Low) | YouTube oEmbed iframe | ✅ | ✅ auto | ✅ Wired (paste URL); OAuth automation deferred |
| **LinkedIn Live** | 5–10 s | (no controls) | None — LinkedIn has no public embed API | ❌ requires StreamYard/approved tool | ✅ auto | ⚠️ CTA button only |
| **IG Live** | 2–3 s | (no controls) | None — Instagram no public embed | ✅ | ❌ default | ⚠️ CTA only (deep-link `instagram://`) |

**Translation for picking platforms:**
- **Lab (ambient build-in-public):** TikTok mobile is primary. Quick on, quick off, low latency. No StreamYard needed.
- **Topic Show (scheduled):** YouTube Live with Ultra-Low-Latency. Embeds on `/live/`. Auto-records. Best for clipping later.
- **Field Notes (Phoenix walking):** TikTok mobile (vertical native) + maybe IG Live (cross-promo).
- **LinkedIn:** only when you have StreamYard wired (Phase 2). Skip for now unless you specifically want professional reach.

---

## 2. Latency optimization (controls you actually have)

**YouTube Live — most adjustable:**
1. YouTube Studio → Manage → Edit live stream → Stream Settings → **Latency**
2. **Ultra Low Latency (<2 s)** — chat is real-time. **Disables** DVR scrubbing for the live audience. Pick this for Topic Shows where you'll respond to comments.
3. **Low Latency (~5 s)** — middle ground. Default is fine.
4. **Normal Latency (10–15 s)** — best 1080p quality. DVR scrub enabled. Pick this for one-way broadcasts where chat doesn't drive flow.

**TikTok / IG Live:** no controls. Latency is automatic (2–5 s). It's good for mobile.

**LinkedIn Live:** no controls. ~5–10 s. Plan around it (don't expect comment-driven fast feedback).

**Stream encoder settings (StreamYard / OBS, when wired):**
- Keyframe interval: **2 s** (matches platform expectations; longer = more buffer = more latency)
- Bitrate: **4–6 Mbps** for 1080p, **2.5–4 Mbps** for 720p
- Encoder preset: **veryfast** (h264) — better latency than slower presets
- Audio: **128 Kbps AAC** (anything higher is wasted on speech)

---

## 3. Network minimums (per stream quality)

| Quality | Upload bandwidth | Ping | Notes |
|---|---|---|---|
| 720p 30fps | ≥3 Mbps sustained | <100 ms | Mobile-friendly, lower data |
| **1080p 30fps** | **≥6 Mbps** | **<50 ms** | **Recommended default for Topic Show** |
| 1080p 60fps | ≥9 Mbps | <30 ms | Only for action / motion content |

**Always:**
- **5 GHz WiFi only.** 2.4 GHz is too unreliable for live (microwave / Bluetooth interference).
- **Ethernet preferred** for desktop streams. Plug in if streaming from Mac.
- **Backup:** keep iPhone hotspot ready. If main WiFi drops mid-stream, switch in <30 s.
- **Headroom:** stream at 50% of available bandwidth. If speedtest shows 12 Mbps up, stream at 6 Mbps max.

**Test command (run before every Live):**
- macOS: `networkquality` (built-in) or speedtest.net in browser
- Goal: ≥9 Mbps up for 1080p comfort, <50 ms ping

---

## 4. Hardware minimum spec

**Audio is the most important. Bad audio kills streams faster than bad video.**

| Component | Acceptable | Better | Best |
|---|---|---|---|
| Mic | MacBook built-in | USB mic ($30 — Rode VideoMicro / Samson Q2U) | XLR mic + interface ($150+) |
| Camera | MacBook FaceTime | iPhone Continuity Camera | DSLR / mirrorless via capture card |
| Lighting | Window facing you | Ring light ($25) | Key + fill softbox ($80) |
| Headphones | Wired earbuds | Over-ear wired | Studio monitors (no echo) |
| Background | Plant + clean wall | Curated bookshelf | Branded backdrop |
| Power | Plug in (not battery) | Plug in + UPS for desktop | — |

**Hard rules:**
- **No Bluetooth audio.** AirPods add 100–200 ms latency = audible echo.
- **No phone notifications visible.** macOS Do Not Disturb + iPhone Focus mode.
- **No customer screens, payment forms, .env files in any tab.** Close them BEFORE you go live.
- **Power source plugged.** Don't trust battery for >30 min.

---

## 5. The 7-Step Pre-Flight Checklist

(The dashboard 📺 Going Live section enforces this gate — button is disabled until all 7 are checked, unless you toggle "Skip gate (Lab only)".)

1. ✅ **Mic test** — speak; see waveform in StreamYard / TikTok preview
2. ✅ **Camera framed** — chest-up, eye-level, lit from front (window or ring light)
3. ✅ **Notifications off** — macOS Do Not Disturb on; iPhone Focus mode
4. ✅ **Browser tabs clean** — no email previews, no `.env`, no customer data, no draft Stripe pages
5. ✅ **Network speedtest passed** — ≥6 Mbps up for 1080p, <50 ms ping
6. ✅ **Recording enabled** — StreamYard "Record" toggle on, OR OBS local recording on, OR YouTube auto-record confirmed
7. ✅ **Talking-points outline** — written or memorized; even a 4-bullet list

**Time:** ~5 min for the full check. Dashboard saves your check state across page refreshes.

**Lab-format exception:** the dashboard has a "Skip gate (Lab only)" toggle. If you're going live for a 30-min ambient session and you've done this 20 times already, skip it. Don't skip for Topic Shows / Field Notes / Special — those have higher production value and one mistake costs more.

---

## 6. Privacy + brand checklist

Before going live, close these:

- `.env` files in any editor / terminal
- Password managers (1Password, etc.)
- Slack / iMessage with non-public conversations
- Customer email tabs (Gmail draft showing recipient list, etc.)
- Master Contacts / DS Students / RoseCard Members tabs
- Stripe / payment-method panels
- Discord channels with private team conversations (Do Not Disturb on Discord client)

**On stream:**
- Brand voice: warm/grounded for RoseCourt; direct/operational for Mirror Mirror; theatrical for Small Stage. (See `~/docs/ecosystem/brand/multi-personality_messaging_and_brand_stack.md` for full voice rules.)
- Lower third (optional but professional): "Brady · RoseCourt · rosecourt.co/live"
- Avoid kill phrases: "vibrant community," "transformative experience," "don't miss out," "tribe," "magic happens"

---

## 7. Audio licensing reminder

- **Lab format = safe** (talking only, no music).
- **Topic Show with background music** = pause Spotify / Apple Music on desktop BEFORE you start. If you want background music, use [Epidemic Sound](https://www.epidemicsound.com/) (~$15/mo) or [Artlist](https://artlist.io/) — both have streaming licenses.
- **TikTok / YouTube algorithmic mute is automatic and silent** when commercial music is detected. You won't get a warning; your audio just gets muted on the recording.
- **Field Notes outdoor walks** → ambient noise (cars, birds, people talking) is fine; don't broadcast third-party music from venues.
- **Fuega / event Lives** — avoid. Tango catalog will absolutely trigger algorithmic mute.

---

## 8. Phoenix-specific timing windows

| Format | Best window (Phoenix MST) | Why |
|---|---|---|
| **Lab (ambient)** | Whenever you're working | Local audience forms around your rhythm. Don't optimize. |
| **Topic Show** | Tue/Thu 4–6 PM, OR Sat 10 AM | Avoids 6–9 PM PST national peak; less competition for FYP. |
| **Field Notes** | T-2 to T-1 days before event, late afternoon | Golden hour visual quality + Phoenix audience awake. |
| **LinkedIn Live** | 9 AM – 12 PM | Professional audience scrolls during morning coffee. |

**Avoid:** Friday 5–8 PM PST (national TGIF peak — too much competition). Sunday morning before 10 AM Phoenix (audience asleep).

---

## 9. Post-Live housekeeping

Within 5 min of ending the stream:

1. **Hit ⏹ End Live** on the dashboard, or via the iOS Shortcut. (Watchdog auto-ends after 4h, but it's better to be deliberate.)
2. **Paste Recording URL** into the Live_Sessions row (TikTok URL, YouTube URL, or Recording URL field).
3. **Note view count** if you remember — Phase 2 will auto-fetch from YouTube/StreamYard webhooks.
4. **Decide:** archive recording or pull clips? Mark Clip Queue Status = `Pending` if you want clips, `Not Generated` if archive only.
5. **Optional:** post to Discord `#content`: "Live ended — recording at <URL>. Highlights: <2-3 bullets>."

---

## 10. Failure modes + recovery

| Problem | Fix in <30 seconds |
|---|---|
| WiFi drops | Switch to iPhone hotspot, restart stream from same room. Audience forgives a 1-min outage. |
| Mic stops working | Unplug/replug USB. If still broken, **switch to screen-share-only** (no face). Apologize once, keep going. |
| Forgot to start recording | StreamYard recordings recoverable for 7 days. YouTube auto-archives if you started via Studio. TikTok mobile-only Lives are NOT recovered (this is why Topic Shows go through StreamYard or YouTube). |
| Forgot to End Live | Watchdog pings you in 4h via Discord `#system-health`. Or manually flip Status=Ended. |
| Customer data accidentally on screen | Don't panic. Cover with a window, apologize once ("oops, didn't mean to show that"), move on. Edit the recording later. |
| Notifications popped despite DND | Apologize, dismiss them. Future fix: turn on macOS Focus mode for "Live Stream" specifically. |
| Energy crashes mid-stream | Take a 30-second pause, drink water, ask audience a question. Recovery is part of build-in-public. |

---

## Pre-flight summary card (print this, tape to monitor)

```
PRE-FLIGHT (5 min)
[ ] Mic test (waveform visible)
[ ] Camera framed + lit
[ ] DND on (Mac + phone)
[ ] Browser tabs clean
[ ] Speedtest ≥6 Mbps up
[ ] Recording enabled
[ ] Outline written

GO LIVE
- TikTok mobile: open app → +
- YouTube: Studio → Go Live
- StreamYard: studio.streamyard.com

POST-LIVE (5 min)
[ ] ⏹ End Live on dashboard
[ ] Paste recording URL
[ ] Mark clip status
```

---

## See also

- **iOS Shortcut for one-tap go-live:** `~/docs/ecosystem/sops/ios_shortcut_going_live_2026-05-03.md`
- **H158 Live Streaming + CMS handoff:** `~/docs/ecosystem/briefs/session_83_h158_handoff_2026-05-03.md`
- **Multi-platform broadcast research (H147):** `~/docs/ecosystem/research/audio_streaming_2026-05-01.md`
- **Brand voice reference:** `~/docs/ecosystem/brand/multi-personality_messaging_and_brand_stack.md`
- **Music licensing:** `~/docs/ecosystem/research/music_licensing_2026-04-29.md`

---

_Filed S83-H159-A (2026-05-03 by CC). Read once before first Live; re-read every 5–10 streams until pre-flight is muscle memory._
