🚀 Reecorder — Go-Live-Cockpit

Inhalt: Stand 18.07.2026 (v3 · Release-Schnitt V1/V2) · 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 · Flutter-App develop · Landing) · Häkchen & Notizen 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 eine V1-Blocker — vor allem anderen entscheiden

„Creator können ihre VODs speichern" funktioniert auf dem Free-Plan heute NICHT.

Codestand: Free hat kein keep-Feature, 1 Tag Retention, 5 GB Quota — und recordings-service wirft für Free ein hartes 403 · Keeping streams requires a paid plan. Da V1 gratis läuft, kollidiert das mit dem Kernversprechen.

Die Kampagnen-Grants lösen es nicht automatisch: die Belohnung vergibt TikFinity-Premium-Tage über die TikFinity-API; der Weg zurück zu einem Reecorder-Plan läuft über den TF-Webhook. Solange TIKFINITY_MODE=stub steht, bleiben Grants auf pending.

A · Kampagnen-Free-Tier (empfohlen — ganz in unserer Hand): Free bekommt für die Kampagnendauer keep + spürbare Retention/Quota (z. B. 90 Tage / 50 GB), ggf. an ein aktives Enrollment gebunden.
B · TikFinity-Grant-Kette scharf: TIKFINITY_MODE=http + Kontrakt v1.1 live → Belohnung wird ein echter Plan. Hängt an der TF-Seite — damit hinge auch das V1-Kernversprechen an einem externen Partner.
A und B schließen sich nicht aus: A macht V1 unabhängig, B ist für den Funnel ohnehin nötig.

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 heute (18.07.):
  • ✅ Staging deployed: Backend openapi 0.49.0, Migrationen 0019 → 0026, Studio-/Yearly-Preise (Paddle Sandbox) in den Staging-Vars.
  • ✅ Frontend deployt automatisch bei grünem Push auf main · ✅ Landing hat das Studio-Tier ($39.90 / $399, Share 35 %) live.
  • ✅ Legal-Seiten live (terms · privacy · content-license) · ✅ support@reecorder.com existiert · ✅ Discord, Referral, Feature-Voting, Support-Form.
  • 🔜 Nächstes Backend-Ziel: openapi 0.50.0 (Storage-Add-on im Katalog) — migrationsfrei.

Anhang · Pricing-Ehrlichkeits-Audit (18.07.2026)

Was die Plan-Seite verspricht vs. was im Produkt existiert. ✅ existiert & durchgesetzt · △ teilweise/nur Anzeige · ✖ nicht gebaut.

Claim (Plan-Seite)TierRealitätHandlungsbedarf
Manueller Clip-Editoralle✅ existiert
Unbegrenzte Downloadsalle✅ existiert (für alle, konsistent)
Streams behalten („Keep“)Starter+✅ serverseitig durchgesetzt
Follow-Limit 3 / unbegrenztFree/Paid✅ serverseitig durchgesetzt
Speicher-Quota 5/50/500/1000 GBalle✅ wird an Pipeline gepusht
AI-Highlights 1/5/∞/∞ pro Streamalle△ nur Anzeige, kein Push/GatePipeline-API (Lukas P1)
Retention 1/90/365/730 Tagealle△ nur Anzeige, kein PushPipeline-API (Lukas P1)
„Alle manuellen Clips“Starter+△ Free hat faktisch dasselbeCopy oder Free-Limit
AI-CaptionsPro+△ Editor-Captions für alle, nichts „AI“, kein Gatebauen oder Copy
Advanced AnalyticsStudio△ /analytics ist für alle Pläne identischbauen oder Copy
Pro-Editor · 4K-ExportPro+✖ nicht 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
Storage-Add-on +100 GB / $3.90Extra✅ ehrlich als „Checkout kommt bald“ sichtbarPhase 2 (Lukas P1)
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)✅ manueller Editor🟡 Render-Pipeline in aktiver Arbeit (Spike: Encoding, Free-Watermark→Paywall)App/Lukas: Spike mergen, nativen Encode stabilisieren — größter App-Brocken
Export / Teilen (JTBD B4)✅ Download🟡 Export-Screens da, hängen am EncodingApp: Share-Sheet-Flow final (nach Spike-Merge)
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: Die App braucht vom Backend fast nichts Neues — die API deckt sie ab. Die zwei echten Backend-Lücken sind Push (Device-Tokens + FCM/APNs) und der kleine QR-Login-Endpoint. Alles andere ist App-seitige Arbeit (Editor-Encoding = größter Brocken, dann i18n, Dark Mode, Rating-UI) plus externe Konten (RevenueCat).

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+.