Files
TalkEdit/plan.md
2026-05-06 23:11:00 -06:00

6.6 KiB
Raw Permalink Blame History

TalkEdit — Launch Plan

Niche: "Descript for long-form content"

TalkEdit's defensible position: works on hour+ files without degrading, fully offline, one-time payment. No competitor owns this — Descript chokes on long content, CapCut limits mobile uploads, and both require accounts.

Current status (May 2026): All core editing features are built and stable. Polish pass completed. 107 automated tests (95 frontend + 12 Rust). Ready for beta testing.


Phase 1: Polish COMPLETED

Reliability & error handling

  • Backend health check — polls /health every 30s, shows reconnecting banner
  • Export failure reporting — surfaces FFmpeg stderr with copy-to-clipboard
  • React ErrorBoundary catches render crashes, shows fallback with reload
  • Global JS error logging — window.onerror + onunhandledrejection logged to Rust backend

UX polish

  • Tooltips on every button/control across all panels
  • Loading spinners for waveform, waveform retry button
  • Export progress bar (visual, not just text)
  • Help panel with full feature documentation
  • Keyboard cheatsheet overlay with close button and preset indicator
  • First-run welcome overlay with 3-step guide
  • ? keyboard shortcut opens cheatsheet (accessible from Help panel)
  • Empty states: MarkersPanel, AIPanel, WaveformTimeline
  • Error states: AIPanel with retry, WaveformTimeline with retry
  • Auto-save crash recovery every 60s, restore prompt on next launch
  • Confirmation dialogs for zone/marker deletion
  • Disabled state for all buttons during export/transcription
  • Export button disabled when no video loaded

Consistency

  • Mute zone color unified (blue everywhere)
  • Disabled opacity unified (40% everywhere)
  • Zone list items border radius unified (rounded-lg)
  • Toolbar button groups separated with visual dividers
  • Labels simplified: "Sound Gain", "Speed Adjust", "Trim Silence", "Chapter Marks", "Edit Zones", "Add Clips", "Bkg. Music", "AI Tools"
  • Model selector moved to AIPanel reprocess tab
  • Orphaned VolumePanel.tsx removed

Trial & licensing

  • Trial duration: 7 days
  • Trial bar on welcome screen with days remaining
  • Sentinel file prevents deleting trial.json to reset trial
  • XOR integrity check prevents editing trial.json timestamp
  • canEdit defaults to false (locked until status check confirms)
  • Email confirmation step before license activation (deters key sharing)
  • verify_license command (verify without caching)
  • Expired banner explains what still works (export, loading)

Robustness

  • React ErrorBoundary
  • Store-level input validation (reject NaN, clamp bounds, enforce min zone duration)
  • Runtime assertions in critical paths (TranscriptEditor, WaveformTimeline, ExportDialog)
  • Auto-save crash recovery
  • CI pipeline (GitHub Actions: Rust + Frontend + Python)
  • Bad project state recovery (auto-prunes invalid zones on load, Dev Panel reset button)
  • 95 frontend tests (editorStore, licenseStore, aiStore, assert)
  • 12 Rust tests (licensing, models)
  • Canvas zone handles enlarged (r=6), hit area increased
  • Search match contrast improved
  • Split panes keyboard-accessible (arrow keys, tabIndex, ARIA)

Phase 2: Beta Launch (🚧 next — 24 weeks)

Goal: Get working builds into real podcasters' hands. Validate the core promise (long-form, offline) before investing in edge-case features.

Must-have for beta

  • Smart chunking for transcription — files >2hr. Without this the niche promise is unproven. Breaks transcription into overlapping chunks, reassembles with correct timestamps.
  • Hardware detection & model selection — detect CUDA/ROCm/MPS at startup; expose model backend choice in Settings so beta users can configure their system.
  • GitHub v1.0.0 release — tag, binary builds (AppImage + .deb), release notes.

Sales & distribution

  • Stripe integration — payment processing for one-time purchases (Pro $39, Business $79). License key generation + email delivery on payment success.
  • Landing page + download site — simple site with: feature overview, pricing tiers, download links (AppImage/.deb), license activation flow. No auth system needed — Stripe handles payments, license keys unlock the app.

Beta program

  • Free licenses to 20 podcasters — in exchange for feedback + permission to quote. Target: r/podcasting regulars, small-to-medium shows (30min2hr episodes).
  • Bug/feedback pipeline — GitHub Issues template for beta testers. Weekly triage.
  • Messaging for beta landing page:
    1. "The offline video editor that doesn't slow down on long files"
    2. "No subscription. One price, owned forever."
    3. "AI-powered editing — bring your own API key (Ollama, OpenAI, Claude)"

Phase 3: Post-Beta Enhancements (user-driven priority)

Goal: Build what beta testers actually ask for. Deferred items below are ordered by likely demand, not engineering convenience.

Bundled local LLM

  • Integrate llama.cpp Rust bindings
  • Auto-download Qwen3 on first AI use (4B: 2.5GB / 1.7B: 1GB)
  • Hardware detection at runtime, model selection in Settings

Long-form content

  • Project stitching — load multiple .aive projects, combine into one export

Export

  • Batch export — multiple projects/cuts in sequence

AI features

  • Smart Shorts finder — scan transcript for 1090s segments
  • AI auto-chapters — topic detection from transcript
  • AI show notes — title, description, key moments
  • AI dead-air finder — content-based silence detection

Phase 4: Public Launch

Goal: Convert beta momentum + testimonials into a public release.

Messaging pillars (updated)

  1. "The offline video editor that doesn't slow down on long files"
  2. "No subscription. One price, owned forever."
  3. "Zero-setup AI" — bundled Qwen3, no API keys (activate when Phase 3 ships)
  4. "Your podcast → 10 TikToks in one click" — Smart Shorts finder (activate when Phase 3 ships)

Channels

  • r/podcasting, r/VideoEditing, r/selfhosted — anchored by beta tester testimonials
  • Product Hunt, Hacker News "Show HN"
  • YouTube demo (3-5 min walkthrough) — feature the beta tester stories
  • Pricing goes live publicly

Pricing

  • 7-day free trial (no CC, no account)
  • Pro: $39 one-time
  • Business: $79 one-time (priority support, volume licensing)

Non-goals (explicitly deferred)

  • Cloud sync / collaboration
  • Voice cloning / TTS
  • Full multi-track NLE timeline
  • Mobile app
  • Subscription model
  • Image/video generation models