5.3 KiB
5.3 KiB
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
/healthevery 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+onunhandledrejectionlogged 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
canEditdefaults tofalse(locked until status check confirms)- Email confirmation step before license activation (deters key sharing)
verify_licensecommand (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: Standout features (post-beta)
Long-form content
- Chapter-based navigation — markers auto-sorted, click to jump (partially done)
- Per-segment re-transcription (done)
- Append multiple clips into one timeline (done)
- Project stitching — load multiple
.aiveprojects, combine into one export - Smart chunking for transcription — for files >2hr
Export
- YouTube chapters from markers (done)
- Export transcript formats: SRT, VTT, TXT (done)
- Batch export — multiple projects/cuts in sequence
AI features
- AI Smart Clean — filler removal + silence trim + normalize (done)
- AI sentence rephrase (done)
- AI clip suggestions for social media (done)
- Smart Shorts finder — scan transcript for 10–90s segments
- AI auto-chapters — topic detection from transcript
- AI show notes — title, description, key moments
- AI dead-air finder — content-based silence detection
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
Phase 3: Marketing & launch (post-beta)
Messaging pillars
- "The offline video editor that doesn't slow down on long files"
- "No subscription. One price, owned forever."
- "Zero-setup AI" — bundled Qwen3, no API keys
- "Your podcast → 10 TikToks in one click" — Smart Shorts finder
Channels
- r/podcasting, r/VideoEditing, r/selfhosted
- Product Hunt, Hacker News "Show HN"
- YouTube demo (3-5 min walkthrough)
- Free licenses to 20 podcasters for testimonials
- GitHub v1.0.0 release with binaries
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