🚀 Reecorder — Go-Live-Cockpit

Inhalt: Stand 18.07.2026, 19 Uhr (v4 · Code-Audit nachgezogen) · Quellen: docs/release-plan-v1-v2.md, docs/go-live-checklist.md, docs/integrations/third-party-integrations.md, JTBD-Doc, Code-Audit aller drei Repos (Web-Monorepo main · Flutter-App develop · Landing) · Häkchen, Notizen & Zuweisungen speichern sich in diesem Browser.

0 / 0 erledigt

Die Zahl am Namen = offene Aufgaben. Ein Klick filtert alle Tabs auf diese Person, nochmal klicken hebt den Filter auf. Zuständigkeit änderst du direkt auf der Karte rechts im Dropdown — Gruppentitel sind nur Vorschläge, die Auswahl auf der Karte gilt. Karten mit orangem Rand sind noch niemandem zugewiesen.

Die zwei Releases in einem Satz

Entscheidungen von Sebastian, 18.07.2026 · Repo-Fassung: docs/release-plan-v1-v2.md

V1 — Protege-KampagneV2 — Clipping & Mobile
Ziel2000 h consented Material für Protege; Creator speichern ihre StreamsAus Material wird Reichweite: Clipping end-to-end inkl. Auto-Posting, Mobile-App, bezahlte Pläne
Zugangnur TikFinity-Funnel (Banner → Handoff); Direct-Signup technisch aktiv, unbeworbenoffen (Direct-Signup + TikFinity)
OberflächeMVP-Modus: Streams/VODs, Consent & Rechte, Labeling, Kampagnen-Widget, Speichervolle Oberfläche: Clips, Moments, Editor, Community
Geldkeine Bezahlpläne — gratis + Kampagnen-GrantsPaddle scharf (Pläne + Storage-Add-on)
Mobilevolle Kernschleife inkl. Quick-Edit
LicensingConsent + Labeling sammelnNachweis + Wallet-Anzeige (keine Auszahlung → V3)

✅ Der V1-Blocker ist zur Hälfte weg — Rest ist eine Entscheidung

Update 19 Uhr: Free behält Streams jetzt 30 Tage statt 1 Tag (Commit 420fbda, bewusst gewählt: „lang genug, dass ein freier Creator keinen Stream über ein volles Wochenende verliert“). Damit funktioniert „meine Streams sind noch da“ auf Free — nur eben zeitlich begrenzt.
Was noch offen ist: das dauerhafte keep („Stream über die Retention hinaus behalten“) bleibt zahlpflichtig — Free bekommt weiterhin 403. Für V1 heißt das eine einzige Produktfrage:

Reichen 30 Tage für die Kampagne?
Ja → V1 braucht hier gar nichts mehr, der Punkt ist erledigt.
Nein (Creator sollen ihre Kampagnen-Streams dauerhaft behalten) → dann A oder B:
  A · keep für Kampagnen-Teilnehmer freischalten (kleiner Backend-Change, in unserer Hand).
  B · TikFinity-Grant-Kette scharf (TIKFINITY_MODE=http) — Belohnung wird ein echter Plan mit keep. Für den Funnel ist B ohnehin nötig, aber es hängt an der TF-Seite.

V1 — was noch zu tun ist

Was V1 bewusst NICHT braucht: Paddle-Produktion · Grandfathering · Pricing-Ehrlichkeits-Umbau · Storage-Add-on · Google-Login · Clips/Editor/Community-Feeds · Clipper-Economy · Mobile-App · Auto-Posting. Durch die V1-Entscheidungen fallen damit vier bisherige P0-Punkte aus dem kritischen Pfad.

V2 — was noch zu tun ist

Kritischer Pfad: die externen API-Genehmigungen. Weil Auto-Posting Teil von V2 ist, bestimmt der TikTok-App-Audit (+ YouTube-Quota) den frühesten V2-Termin — Wochen Vorlauf, nicht steuerbar. Die Anträge müssen raus, während V1 noch läuft, sonst wartet V2 auf externe Reviews.

V3 — Ausblick (nicht terminiert)

Clipper-Economy mit echten Auszahlungen (Trolley/ADR, DAC7) · AI-Licensing-Ausschüttung + Marktplatz · Stripe Invoicing für Labs-Inbound · Team-Seats/Studio-Features · Realtime (WS/SSE) · JTBD-Gap-Kandidaten: Posting-Schedule, Live-Marker („clip it"), Trending-Audio, Home-Widget.

Reihenfolge, praktisch

1. Jetzt: Free-Tier-Weg entscheiden (A/B) · TikTok- + YouTube-Anträge raus (laufen im Hintergrund während V1).
2. V1-Bau: Prod-Env · TikFinity-Funnel scharf · Protege-Zähler · Account-Löschung · Legal + QA.
3. V1 live → Kampagne läuft, 2000 h werden gesammelt und im Admin gezählt.
4. Parallel zu V1: Mobile-Encoding + Push, Pricing-Ehrlichkeit, Paddle-Prod-Vorbereitung.
5. V2, sobald die Genehmigungen da sind: Oberfläche auf, Auto-Posting, App-Launch, Billing an.
Status 18.07., 19 Uhr — seit dem Vormittag ist viel dazugekommen:
  • 🆕 Web-Clip-Editor ist gebaut — gemeinsames Edit-Modell mit der App, Undo/Redo + Shortcuts, Timeline mit Layer-Drag, Captions direkt aus dem AI-Transkript, Chat-Aktivität unter der Trim-Leiste, Desktop-Workspace.
  • 🆕 Clipping-Kette steht: Momente-Ingest → Render-Job → Queue-Consumer, getestet. Aber: kein Renderer angebunden (#15) → aktuell entsteht gar kein fertiger Clip.
  • 🆕 Paywalls greifen jetzt wirklich: „Clips überall schneiden“, AI-Captions, Cloud-Export, Keep und der AI-Highlights-Cap sind serverseitig durchgesetzt. Free behält Streams jetzt 30 Tage statt 1 Tag.
  • 🆕 Storage-Add-on ist kaufbar (eigener Checkout-Pfad) · Backend 435 Tests grün.
  • ⚠️ Staging hängt hinterher: dort läuft openapi 0.56.0, main steht auf 0.59.0 — der Renderer-, Paywall- und Editor-Stand ist auf Staging noch nicht sichtbar.
  • ⚠️ Neu offen: #16App-Draft-Sync überschreibt Web-Bearbeitungen (Remote-Sync ist entgegen NOTES.md aktiv).
  • ✅ Unverändert gut: Frontend deployt automatisch bei grünem main-Push · Landing mit Studio-Tier · Legal-Seiten live · support@reecorder.com · Discord/Referral/Feature-Voting/Support-Form.

Anhang · Pricing-Ehrlichkeits-Audit (neu geprüft 18.07., 19 Uhr)

Was die Plan-Seite verspricht vs. was im Code steht. ✅ existiert & serverseitig durchgesetzt · △ teilweise · ✖ nicht gebaut. Deutlich besser als heute Vormittag: vier Punkte sind von △ auf ✅ gewandert, weil die Paywalls jetzt wirklich greifen.

Claim (Plan-Seite)TierRealitätHandlungsbedarf
Manueller Clip-Editoralle✅ jetzt ein vollwertiger Web-Editor (Undo/Redo, Timeline, Layer)
Unbegrenzte Downloadsalle✅ existiert
Streams behalten („Keep“)Starter+✅ durchgesetzt · Free behält jetzt 30 Tage (war 1 Tag)
Follow-Limit 3 / unbegrenztFree/Paid✅ durchgesetzt
Speicher-Quota 5/50/500/1000 GBalle✅ wird an die Pipeline gepusht
🆕 „Clips überall im Stream schneiden“Starter+neu durchgesetzt (war: Free konnte faktisch dasselbe)
🆕 AI-CaptionsPro+neu: echte Captions aus dem AI-Transkript, Pro-gegated
🆕 AI-Highlights 1/5/∞/∞ pro StreamalleCap greift jetzt beim Moment-Ingest; die Plan-Seite zeigt, was der Cap zurückgehalten hat
🆕 Cloud-Export (Drive, Dropbox & Co.)Pro+✅ neues Feature, gegated
Retention 30/90/365/730 Tagealle△ Push ist bei uns gebaut (setRetention), aber der Pipeline-Endpoint fehlt nochEndpoint von Lukas/Pipeline
Advanced AnalyticsStudio△ /analytics ist weiterhin für alle Pläne identischbauen oder Copy
Pro-Editor · 4K-ExportPro+✖ Editor ja, aber 4K-Export nicht gegated/gebautbauen / „Bald“ / Copy
Priority ProcessingStudio✖ nicht gebautbauen / „Bald“ / Copy
3 Team-SeatsStudio✖ nicht gebaut (kein Team-Modell)bauen / „Bald“ / Copy
Lizenz-Marktplatz + Revenue-Share 20–35 %alle✖ Labeling ja, Marktplatz/Auszahlung neinals Zukunfts-Promise kennzeichnen (V2-Entscheidung)
Storage-Add-on +100 GB / $3.90Extrajetzt echt kaufbar (eigener Checkout + Grant), sobald die Preis-ID gesetzt istPreis-ID in Prod
Was das für die Entscheidung bedeutet: Die Ehrlichkeitslücke ist von 9 auf 5 Punkte geschrumpft und betrifft jetzt fast nur noch Studio (Team-Seats, Priority, Advanced Analytics) plus 4K-Export und das Licensing-Versprechen. Weil Billing erst mit V2 scharf geht, ist dafür noch Zeit — aber genau diese fünf müssen bis dahin gebaut oder entschärft sein.
Kürzester Pfad zum Go-live:
Lukas: Prod-Env → Paddle Prod (nach Grandfathering-Go) → Redeploy 0.50.0 + OAuth-Secrets → Anträge #14 raus.
Sebastian: Pricing-Ehrlichkeit + Grandfathering entscheiden → Legal-Review → Staging-QA.
Claude: Account-Löschung + Admin-UI parallel bauen.  Alles andere iteriert nach dem Launch.

Bestehende Integrationen — Status

IntegrationStatusNächster Schritt
Paddle (Web-Billing)✅ Code fertig, Sandbox läuft auf StagingProd-Sync Katalog v3 (nach Grandfathering-Entscheidung)
Resend (E-Mail)✅ live auf StagingProd-Key + MAIL_FROM prod
PostHog (Analytics + Flags) · Sentry (Errors)✅ Wrapper aktivProd-DSN/Keys
Discord✅ Invite live, zentral in links.ts
RevenueCat (Mobile IAP)🟡 Webhook-Code fertig; Konto + Store-Produkte fehlenErst zum App-Launch
TikFinity🟡 unser Teil fertig (Stub-Modus); TF-Kontrakt v1.1 kennt Studio nichtTF-Seite + Kontrakt-Update
Google Login🟡 Code komplett fertigNur Client anlegen + 2 Secrets (~15 min)

Auto-Posting — externe Anträge (längste Lead-Time!)

Reviews dauern Wochen — Anträge zuerst, Code dahinter. Ohne diese APIs bleibt Multi-Platform-Posting (JTBD A5) und Clipper-View-Metering (Phase B) blockiert.

PlattformWasWichtig
TikTok ⚡ zuerstApp anlegen · Content Posting API + Display API (Metering) · Login KitBis zum bestandenen App-Audit postet die API nur privat (self-only). Ein Audit deckt Posting und Metering ab.
YouTube ShortsData API v3 aktivieren · Quota-Formular · OAuth-Consent-VerifizierungStandard-Quota ≈ 6 Uploads/Tag — Quota-Erhöhung ist Pflicht, nicht Kür.
Instagram ReelsMeta-App · App Review für instagram_content_publishNur Business-/Creator-Accounts; Meta-OAuth pro Nutzer.
X (Roadmap)Developer-PortalKostenpflichtige API-Tiers einplanen; unkritisch für v1.

Geld-Architektur — drei Schienen, ein Ledger

① SaaS-Abos (Creator zahlen uns) → Paddle ✅ — bleibt (Merchant of Record, Steuern inklusive).
② Labs-Inbound (AI-Licensing, B2B) → Stripe Invoicing/Billing — Minuten-Metering, SEPA/ACH/Wire; Multi-Currency-Konto (Wise/Airwallex) für USD-Eingänge. Erst zum ersten Direct-Lab-Vertrag.
③ Outbound (Clipper/Creator-Payouts) → Trolley (Empfehlung) — 210+ Länder inkl. PH/VN/ID (Stripe Express deckt die nicht ab), DAC7/W-8/W-9/1099 eingebaut. Alternative: Stripe Connect. Entscheidung braucht ein ADR.
Wallet: das earning_entry-Ledger + Auto-Payout (Schwelle $50, monatlich) ist regulatorisch unkritisch; kein E-Geld bauen. Cleverer v1-Move: Reecorder-Credit (Earnings als Guthaben nur für Reecorder-Leistungen, +20 %-Bonus steht schon auf der Revenue-Share-Seite).
Phasenplan: ① jetzt: Paddle + Wise/Airwallex + Trolley + Ledger → ② erste Lab-Verträge: Stripe Invoicing → ③ Skalierung: Karte (Stripe Issuing EU / Swan) + Adyen evaluieren.

Antrags-Checkliste (Reihenfolge)

Abhakbar — der Stand wandert in den Fortschrittsbalken oben. Quelle: third-party-integrations.md §6.

Web vs. Mobile-App — wo steht was, wo fehlt was

Code-Audit 18.07.: Web-Monorepo (main) vs. Flutter-App (develop + Spike media-kit-encoding). Beide reden mit demselben /app/v1-Backend — „Backend fehlt“ heißt: der Endpoint/Transport existiert für niemanden.

BereichWebAppWas fehlt (wer)
Login / Auth✅ Magic-Link, TikFinity-Handoff; Google-OAuth-Code fertig🟡 Screens + Secure-Storage da, aber Sign-in-Gate AUS (kRequireSignIn=false)App: Gate an + Universal-Links · Backend: TikFinity-QR-Login-Endpoint (klein) · Lukas: OAuth-Secrets
Clips sichten (Score/Tier, JTBD B2)✅ komplett🟡 echte Datenanbindung seit develop-RewriteApp: Feinschliff/QA
Editor (Trim/Captions, JTBD A4/B3)voller Web-Editor — Undo/Redo + Shortcuts, Timeline mit Layer-Drag, AI-Captions, Chat-Aktivität, Desktop-Workspace🟡 eigener On-Device-Editor; gemeinsames Edit-Modell mit Web (gleicher Clip, gleiche Zeile)⚠️ #16: App-Speichern überschreibt Web-Bearbeitungen
🔴 Rendern (aus Edit wird ein Video)🟡 Kette gebaut & getestet (Render-Job, Queue, Status) — aber kein Renderer🟡 rendert on-device, das Backend erfährt das Ergebnis nieRenderer anbinden (#15) — ohne das entsteht nirgends ein fertiger Clip
Export / Teilen (JTBD B4)✅ Download + ZIP; 🆕 Cloud-Export (Pro)🟡 Export-Screens da, hängen am RendernApp: Share-Sheet-Flow final
Push „deine Clips sind fertig“ (JTBD B2)— (In-App-Glocke reicht)✖ kein firebase_messagingBackend UND App fehlen beide: Device-Token-API + FCM/APNs-Versand (Lukas) + App-Integration — die größte echte Backend-Lücke für die App
VOD-Playback (JTBD B6)✅ media_kit
Community-Feeds (Moments/Discover)✅ inkl. Public Funnel🟡 Video-Feed + Moments-Feed vorhandenApp: Follow-Feed ans Backend anbinden
„Rate this clip“ (AI-Feedback, JTBD B5)✅ UI + API (POST /clips/:id/rating)✖ UI fehltApp: kleiner UI-Aufwand — Backend ist fertig
Billing✅ Paddle komplett🟡 RevenueCat-Code + Paywall fertig, SDK-Keys leerExtern: RC-Konto + Store-Produkte · bewusst: Plan-Feinsteuerung bleibt Web (Anti-Job B7)
Realtime-Refresh (JTBD A10)🟡 Polling🟡 PollingBackend: WS/SSE — optional, nach Launch
Licensing / Rechte-Matrix✅ Labels, Consent-Matrix, Wizard— bewusst nicht in der App (Anti-Job B7)
Clipper-Economy✅ Phase A— nicht im App-v1-ScopePhase B extern blockiert (TikTok/YT-Anträge)
Admin🟡 Mini-Admin (Tickets-UI fehlt → Claude)
i18n✅ en/de✖ keine .arb-DateienApp: i18n-Setup — JTBD sagt: DE-Region zieht durch alle App-Jobs
Dark ModeThemeMode.light hartkodiert (ThemeService existiert schon!)App: freischalten (klein)
Kurzfazit (aktualisiert 19 Uhr): Der Web-Editor hat die App überholt — Web und App teilen sich jetzt dasselbe Edit-Modell (gleicher Clip, gleiche DB-Zeile). Der gemeinsame Engpass ist nicht mehr die App, sondern der fehlende Renderer (#15): beide Seiten können bearbeiten, aber nirgends entsteht ein fertiges Video. Danach bleiben als echte Backend-Lücken Push (Device-Tokens + FCM/APNs) und der QR-Login-Endpoint; app-seitig i18n, Dark Mode und die Rating-UI. Neu dazugekommen: die Sync-Kollision (#16) muss gelöst sein, bevor Web und App produktiv am selben Clip arbeiten. Der App-Flutter-Stand selbst ist seit heute Vormittag unverändert (develop und der Encoding-Spike stehen still).

JTBD × Go-live — sind die Kern-Jobs bedienbar?

Quelle: JTBD-Doc (11.07., Personas P1–P6 + Viewer + Agency) gegen den Code-Stand 18.07. · interaktiver Planner für den V1/V2/V3-Schnitt.

Job-ClusterWebAppGo-live-relevant?
A1 Onboarding & Verifikation (Handoff, OAuth, Bio-Fallback, Multi-Account)🟡 B1 (Gate aus)Web bereit
A2 Consent & stilles Recording (inkl. Musik-Scope-Trennung, P5)Web bereit
A3 Clips finden & sichten (Score/Tier, Tags, Rating)🟡 B2 ohne PushWeb bereit — das Kern-Versprechen
A4 Editieren (Trim, Caption-Presets, Autosave, async Render)✅ (Musik-Spur: offen, P5/P6)🟡 B3 am SpikeWeb bereit
A5 Publishing & Distribution🟡 Download/Status ✅ · Multi-Platform-Auto-Post ✖🟡 B4 am EncodingKein v1-Blocker — Anträge (#14) sind der lange Pol, sofort raus
A6 VOD-Archiv (Keep/Pin, Make public, Browse)🟡 B6 Playback ✅Web bereit
A7 Rechte-Center (per-VOD-Matrix, AI-Scope aus, P5)— (bewusst Web)Web bereit — Trust-Verkaufsargument
A8 Monetarisierung (Pläne, Entitlement, Archiv→Einkommen)🟡 Pläne/Entitlement ✅ · AI-Licensing-Einkommen ✖ (Marktplatz fehlt)🟡 IAP wartet auf RCEhrlichkeits-Entscheidung nötig (siehe Audit) — Erwartungsmanagement, kein Tech-Blocker
A9 Community als Creator (Counts, Discover/Moments)🟡Web bereit
A10 Realtime & Ops (Live-Updates, Reconcile)🟡 Polling statt WS/SSE; Reconcile ✅🟡Kein Blocker — nach Launch
A-Partner Agency/TikFinity (Bulk-Provisioning, Kampagnen, Roster)🟡 Code fertig (Stub), Kampagnen ✅ · Roster-Views ✖ · Kontrakt v1.1 ohne StudioFür den TikFinity-Funnel wichtig — hängt an der TF-Seite
B1–B5 App-Kernschleife (Login → sichten → quick-edit → teilen → raten)🟡 Kette steht bis auf Push, Encoding-Merge, Rating-UINicht Web-go-live-gekoppelt — App launcht bewusst später
B6 Viewer-Mode mobil (Feed, Liked/Later, Follow, VOD)🟡 Feed + Playback ✅, Follow-Anbindung offen, Liked/Later device-localNice-to-have für App-v1
JTBD-Fazit für den Web-Go-live: Alle A-Kern-Jobs (A1–A4, A6, A7, A9) sind bedienbar — kein JTBD blockiert den Web-Launch. Die offenen Enden sind: ① Auto-Posting (A5) = externe Anträge, ② AI-Licensing-Einkommen (A8) = Ehrlichkeits-/Copy-Entscheidung, ③ die komplette B-Strecke = App-Launch danach (Push + Encoding zuerst). Für den V1-Schnitt im Planner heißt das: Core Loop = A1–A4 + A6/A7 ✅, die 5 Gap-Kandidaten (Schedule, Live-Marker, App-i18n, Trending-Audio, Widget) sind alle V2+.