Internal Plan ยท R-Link Studio

14-Day MVP Plan

Locking the real-time pipeline at 80-100 concurrent participants, finishing the admin to 80%, and putting Kim plus a 5-10 user beta cohort on staging by Day 14. Production cutover follows in week 3.

14
Calendar Days
80-100
Participants Target
5-10
Beta Users on Day 14
80%
Admin Functional

14-Day Timeline

Week 1 Week 2 Buffer Milestone
Week 1 ยท Real-Time Stability
Week 2 ยท Admin + Beta Prep
Day 1
Wed 5/13
Audit + bug list
Day 2
Thu 5/14
Load test harness (25 โ†’ 100)
Day 3
Fri 5/15
Fix top bugs from audit + load test
Day 4
Sat 5/16
Webinar flow + public landing
Day 5
Sun 5/17
Livestream + chat hardening
Day 6
Mon 5/18
Screen share + recording
Day 7
Tue 5/19
Week 1 load test repeat + Kim status
Day 8
Wed 5/20
Admin: Users + roles
Day 9
Thu 5/21
Admin: Recordings + transcripts
Day 10
Fri 5/22
Admin: System settings + analytics shell
Day 11
Sat 5/23
Admin: Affiliates + Rewards parity
Day 12
Sun 5/24
Beta cohort prep
Day 13
Mon 5/25
Buffer + internal dry run (Memorial Day)
Day 14
Tue 5/26
Beta dry run + Go/No-Go
Day 1: Wed May 13โ— Day 14: Tue May 26โ— Memorial Day = Day 13 (buffer)โ— QA tests this week = live ground truthโ— Go / No-Go meeting Day 14โ— Day 1: Wed May 13โ— Day 14: Tue May 26โ— Memorial Day = Day 13 (buffer)โ— QA tests this week = live ground truthโ— Go / No-Go meeting Day 14โ—
๐ŸŽฏ Day-14 Bar

Staging proven to hold 80-100 concurrent participants across meeting, webinar, and livestream flows, with chat, screen share, Deepgram captions, and recording all working end-to-end. Admin panel 80% functional. Kim plus 5-10 beta users live on staging. Production cutover follows in week 3.

๐Ÿ“‹ Visibility Ground Rule ยท Monday is the Source of Truth

Every bug, PR, assignment, and milestone in this plan mirrors to a Monday board so Kim, James, the QA team, and the new hires can all see what's moving without DMing each other. Triage dashboard, deploy events, CS notifications, and Kim's PR pipeline all push status into Monday automatically. Track D covers the wiring.

โšก Pre-Day-1 Input ยท QA Tests This Week

QA testers are running two large simulated-participant tests this week (15-25 participants each). Their findings are the real-world ground truth that synthetic load can't fake. Both test outputs feed directly into Day 1's audit and Day 3's fix queue.

  • Every bug gets logged on the triage board AND mirrored to Monday the moment it's seen, and is fixed immediately
  • Performance metrics (CPU, RAM, dropouts, latencies) get captured during the runs, not after
๐Ÿ“… Calendar Notes

Day 13 (Mon 5/25) is Memorial Day. Use it as a buffer and run an internal-team-only dry run, not beta-user-facing.

Week 1 Real-Time Stability

The single biggest risk to the 80-100 number is real-time pipeline drift, not feature gaps. Week 1 locks the pipeline. Days 1-7 = Wed 5/13 through Tue 5/19.

Day 1Wed 5/13
Audit + bug list
  • Run the full meeting / webinar / livestream flow end-to-end in staging. Record screen.
  • Pull open GitHub issues + QA triage board. Pull every bug from this week's QA 15-25 participant tests. Dedupe and rank by impact on 80-100 person sessions.
  • Verify Agora subscription tier and concurrent-stream limits in writing.
  • Confirm Doppler r-link-studio-redux dev and prod configs are intact post-team-exit.
Day 2Thu 5/14
Load test harness (bridge QA 25 โ†’ target 100)
  • Wire up synthetic-participant tool (Agora Cloud Player SDK or k6 + headless Chrome via Playwright pool).
  • Step-load: 25 first (match QA baseline โ†’ validate harness), then 50, then 100. See where it breaks, not just whether.
  • At target 100: half publishing audio, 10 publishing video, 1 screen sharing.
  • Capture: connect time, audio dropouts, video freezes, Socket.IO latency, server CPU/RAM, Mongo pool saturation.
Day 3Fri 5/15
Fix top bugs from audit + load test
  • Fix top issues from Day 1 audit + Day 2 load test. Prioritize anything that breaks > 1% of joins or fails > 10 participants.
  • Compare metrics from QA's recorded runs against Day 2's synthetic numbers at the same participant count.
  • If real 25 diverges from synthetic 25, the harness is lying โ€” fix that before trusting the 100 number.
Day 4Sat 5/16
Webinar flow + public landing
  • Validate: scheduled webinar create โ†’ public landing โ†’ registration โ†’ join โ†’ broadcast โ†’ end โ†’ replay โ†’ recording surface.
  • Fix dashboard webinar end fallback edge cases.
Day 5Sun 5/17
Livestream + chat hardening
  • Validate livestream path. Confirm RTM chat works at 100-person scale without Presence add-on (we are NOT enabling withPresence).
  • Stress chat: 100 participants posting once every 5 seconds for 5 minutes. Measure Socket.IO + RTM behavior.
Day 6Mon 5/18
Screen share + recording
  • Validate screen share with viewer layout retention (commit d57b384 fix).
  • Validate recording โ†’ S3 โ†’ playback. Confirm Deepgram Nova-3 transcripts land in JSONL.
Day 7Tue 5/19
Week 1 load test repeat + Kim status
  • Re-run the Day 2 load test. Compare deltas. Capture metric baseline.
  • 5-bullet status to Kim: what's locked, what's flaky, what's deferred.

Week 2 Admin + Beta Prep

Days 8-14 = Wed 5/20 through Tue 5/26. Build the admin to 80% across the high-value surfaces, prep the beta cohort, and run a real 80-100 person dry run.

Day 8Wed 5/20
Admin: Users + roles
  • Lock down Admin.jsx: create, edit, suspend, reset password, assign roles.
  • Verify per-user tenant scoping holds (SHARED_ACCOUNT_MODELS cutover from 2026-04-24).
Day 9Thu 5/21
Admin: Recordings + transcripts
  • Lock down AdminRecording.jsx: list, search, play, share-link, delete, transcript export.
  • Confirm S3 lifecycle / retention rules are explicit.
Day 10Fri 5/22
Admin: System settings + analytics shell
  • Branding, defaults, feature toggles UI.
  • Read-only analytics page (DAU, meetings, minutes used) backed by Mongo aggregation. Accurate over pretty.
Day 11Sat 5/23
Admin: Affiliates + Rewards parity
  • AdminAffiliates.jsx + RewardsAdmin.jsx: parity with Kim's current expectations.
  • If anything is broken, mark it Phase 2 in writing rather than rebuilding.
Day 12Sun 5/24
Beta cohort prep
  • Sign 5-10 beta users (Kim's choice). Onboarding doc. Bug-report path = QA triage board.
  • Production-equivalent staging URL: studio.staging.stonelabs.app. Confirm Cloudflare DNS.
Day 13Mon 5/25 ยท Memorial Day
Buffer + internal dry run
  • Light day. No beta-user-facing work (holiday).
  • Internal team-only 80-person dry run on staging using synthetic load + a few stakeholders. Capture issues.
  • Spot fixes only. No new feature work.
Day 14Tue 5/26 ยท Go/No-Go
Beta dry run + go/no-go meeting
  • Real 80-100 person webinar on staging with Kim + beta cohort + dummy attendees. Record. Score against Week 1 baseline.
  • Same-day go/no-go meeting with Kim: cut over to production in week 3, or extend staging beta by another sprint.

Parallel Tracks Run Alongside the 14 Days

These don't compete with the MVP โ€” they multiply it. Three tracks owned by Matt, each multiplying the throughput of the core 14-day work.

Track ADays 1-7 ยท ~1.5 work days
AI Infra Buildout
  • Day 1: Auto-fix bot wired to the rebuild repo + QA triage (add r-link-studio client, "Submit bug" link in admin nav).
  • Day 2: Sentry client + server projects, Doppler DSNs, source maps, alert rules โ†’ #r-link-studio-alerts.
  • Day 3: Deploy automation + /studio-redeploy slash command, smoke-test GitHub Action on every deploy.
  • Day 4-5: Rivendell status pill polling /health, /api/studio/redeploy endpoint, Hall quick-action card.
  • Day 6-7: CS email automation โ€” extend cs-ticket-resolved to auto-notify beta users when their reported bug ships.
  • Detail: r-link-studio-infra-integration-plan.md.
Track BBoth weeks
Hire 2-3 AI-first Developers
  • Week 1 โ€” Sourcing. Post in AI dev communities. Filter: ships code with AI tools daily, comfortable with PR-based workflows. Skip anyone who needs hand-holding through Doppler.
  • Week 1 โ€” Screening. 60-90 min paid pair session on a real Studio ticket in Claude Code. Watch how they think.
  • Week 2 โ€” Paid trial. Top 2-3 candidates start 2-week trials on scoped verticals: one owns admin, one owns webinar/livestream, one owns API + mobile parity bridge.
  • Onboarding system. Per-repo CLAUDE.md, auto-fix bot, QA triage, Doppler, worktree slash commands โ€” all already exist. Productive Day 1.
  • Goal by Day 14: at least one trial hire shipping merged PRs, freeing Matt for architecture + Kim management.
Track DDays 1-4
Monday.com as System-of-Record
  • Day 1 โ€” Board structure. Stand up "R-Link Studio Development" board. Groups: Live Bugs, In Fixing, Ready for QA, Done This Sprint, Roadmap, Kim's Backlog, Hires + Trials. Team gets access at right permission level.
  • Day 2 โ€” QA triage โ†” Monday sync. New triage ticket auto-creates a Monday item. Status changes sync both directions. Comments mirror as Monday updates.
  • Day 3 โ€” Deploys + Sentry โ†’ Monday. Every Vercel/Railway deploy posts a Monday update on relevant items. Sentry new-issue alerts open Monday items in Live Bugs automatically.
  • Day 4 โ€” Kim PR + hiring pipelines on Monday. Kim's scoped assignments (Track C) live as Monday items. Trial-hire applicants + screens (Track B) tracked in a Hires group.
  • Beyond Day 4: every new automation drops events into Monday as part of its definition of done.
Track CBoth weeks
Kim's Scoped PR Pipeline
  • Week 1 โ€” Backlog. Matt drafts 5-10 Kim-ready assignments. Each has: scope in plain English, file boundaries, design intent + screenshots, acceptance criteria, "do not touch" list.
  • Lane: UI-only changes in pages Kim knows from Base44 โ€” Studio home, Landing, Onboarding, Setup, EventLanding, WebinarLanding, presentation / replay views.
  • Review flow: Kim opens PR via /kimdone โ†’ Matt reviews โ†’ merge. Straightforward merge commits, no rebase nonsense for her.
  • Cadence: Kim picks 1-2 assignments per week. Matt drops fresh ones into her backlog every Monday so she always has 3+ waiting.
  • Goal: Kim ships 4-6 merged PRs across the 14 days. Owns her design voice in the rebuild. Feels like a contributor, not a stakeholder.

Daily Rhythm

  • 9:00 ET: 10-minute standup with self (Rivendell Council). Top 3 for the day.
  • 16:00 ET: status bullet to Kim (Slack DM) โ€” what shipped, what's blocked, tomorrow's top 3.
  • Friday: 30-min sync with James to align on Flutter parity items + share the change log bot output.
  • Monday: 10-min Kim assignment refresh โ€” drop 2-3 fresh scoped PRs into her backlog.

Risks + Mitigations

  1. Agora limits at 100. Confirm tier in writing Day 1. If we're capped below 100, escalate to Kim same day.
  2. Mongo at scale. DigitalOcean managed Mongo 8 should handle this load, but verify Railway connection pool size. Bump if needed.
  3. Recording S3 costs. Validate retention policy before the beta dry run or fees spike.
  4. Edge cases that need real engineering. Phase 2 backlog gets a clear definition by Day 10 so Kim sees what's deferred and why.
  5. Real-time bugs surface only at scale. Day 2, Day 7, Day 13 dedicated load tests catch what real users would find on Day 15.
  6. Weekend pace. 14 calendar days includes Sat 5/16, Sun 5/17, Sat 5/23, Sun 5/24 as real work days. Build in a 1-day slip buffer mentally โ€” if Day 7 or 13 slips, Day 14's dry run still has to happen.

Phase 2 (post-Day 14, week 3+)

  • Production cutover + legacy retirement plan
  • Stripe billing UI in admin
  • Integration UI (Slack, Zapier, etc.)
  • Mobile (James's Flutter) parity catch-up
  • Public API doc + key management UI for /external/v1/*