A professional desktop video editor for quick clip trimming and export. Built with Electron, React, and FFmpeg with MVP complete and V2 development in progress.
- ✅ Import video files (MP4, MOV) via Browse Files button
- ✅ Video playback with play/pause controls and synchronized audio
- ✅ Timeline visualization with proportional clip widths and selection
- ✅ Timeline-based trimming with double-click to set trim points and draggable handles
- ✅ Export to MP4 with real-time progress tracking and save dialog
- ✅ Professional dark mode UI with modern styling
- ✅ Error handling with graceful failures and helpful messages
- ✅ Packaged desktop app ready for distribution
- ✅ State Management Refactor - Context API foundation for V2 features
- ✅ UI Component Library - Reusable components for advanced features
- ✅ Professional Timeline - Multi-track video editor with CapCut-style interface
- ✅ Drag & Drop Clips - Drag clips between tracks with magnetic snapping
- ✅ Split & Delete Clips - Professional editing operations with context menu & keyboard shortcuts
- ✅ Advanced Export Settings - Professional codec options, presets, and file size estimation
- 📋 Screen Recording - Built-in recording functionality
- 📋 Advanced Effects - Text overlays, transitions, filters
- 📋 Project Management - Save/load projects with auto-save
- ✅ Export Settings Modal - Comprehensive settings interface with basic and advanced options
- ✅ Codec Support - H.264, H.265, VP9 with automatic FFmpeg mapping
- ✅ Preset System - Web (fast), Broadcast (high quality), Archival (maximum quality)
- ✅ Advanced Settings - Bitrate, CRF, two-pass encoding, encoding presets and profiles
- ✅ File Size Estimation - Real-time file size calculations based on settings
- ✅ Settings Persistence - All settings saved to localStorage between sessions
- ✅ FFmpeg Integration - Complete settings support throughout video processing pipeline
- ✅ Professional UI - Modern interface with comprehensive validation and error handling
Achievement: ClipForge now has professional-grade export capabilities rivaling industry-standard video editors!
- ✅ Split at Playhead - Split clips at any position with Cmd+B or toolbar button
- ✅ Delete Clips - Remove single or multiple clips with Delete key or toolbar
- ✅ Context Menu - Right-click on clips for split, duplicate, and delete operations
- ✅ Keyboard Shortcuts - Professional shortcuts (Cmd+B split, Delete, Cmd+D duplicate)
- ✅ Toolbar Integration - All buttons functional with smart disabled states
- ✅ Seamless Playback - Fixed critical playback issues for continuous timeline playback
- ✅ 5 Critical Bugs Fixed - Coordinate system fixes, feedback loop elimination, toolbar wiring
Achievement: Professional editing operations with seamless continuous playback through all clips!
- ✅ Multi-Track Timeline - Professional video editor with CapCut-style interface
- ✅ Professional Trimming - Edge-based trimming with magnetic snap (CapCut-style)
- ✅ Playback Synchronization - Seamless video-timeline synchronization
- ✅ Single Toggle Controls - Industry-standard Play/Pause button (turns blue when playing)
- ✅ Enhanced Media Library - Complete metadata display and drag-and-drop functionality
- ✅ 9 Major Bugs Fixed - Comprehensive bug analysis and prevention measures (including THE SMOKING GUN!)
Achievement: ClipForge now rivals professional video editing software like CapCut and Premiere Pro!
- ✅ Context API Implementation - Scalable state management for V2 features
- ✅ FFmpeg Bug Fix - Resolved critical trim/export functionality issue
- ✅ MVP Preservation - All existing features work perfectly
- ✅ V2 Foundation - Ready for advanced video editing features
Bug Fixed: FFmpeg binary path detection in development mode - trim and export now work flawlessly!
- Download
ClipForge-1.0.0-arm64.dmgfrom Releases - Open the DMG file
- Drag ClipForge to Applications folder
- Double-click ClipForge in Applications to launch
- If you see "App is damaged" warning:
- Right-click app → Open
- Click "Open" in the dialog
- This is normal for unsigned apps
- Node.js 18+
- npm or yarn
git clone https://github.com/yourusername/clipforge.git
cd clipforge
npm installnpm run build # Build React bundle
npm start # Launch Electron appnpm run build:app # Build production webpack bundle
npm run package # Create DMG installerOutput: dist/ClipForge-1.0.0-arm64.dmg (~752MB)
- Import Video: Click "Browse Files" to select MP4 or MOV files
- Select Clip: Click on any imported clip in the timeline to select it
- Play Video: Use play/pause controls to preview the selected clip
- Trim Clip:
- Double-click on timeline to set trim start point
- Double-click again to set trim end point
- Drag the green handles to adjust trim points
- Click "Apply Trim" to render the trimmed version
- Export: Click "Export Video" to save the edited clip as MP4
- Multi-clip Export: Import multiple videos and export them as a single concatenated video
- Timeline Navigation: Click anywhere on timeline to scrub through video
- Reset Trim: Click "Reset" to clear trim points and return to original clip
ClipForge is built with a modern desktop application architecture:
- Electron - Desktop framework providing native OS integration
- React - UI framework for component-based interface
- FFmpeg - Video processing engine for export functionality
- Webpack - Module bundler for React application
┌─────────────────┐ IPC ┌─────────────────┐
│ Main Process │◄──────────►│ Renderer │
│ (Node.js) │ │ (React) │
│ │ │ │
│ • File dialogs │ │ • UI Components │
│ • FFmpeg │ │ • State mgmt │
│ • Save dialogs │ │ • User events │
│ • IPC handlers │ │ • Video player │
└─────────────────┘ └─────────────────┘
- ImportPanel - File import with validation and drag-drop support
- VideoPlayer - HTML5 video playback with custom controls
- Timeline - Visual timeline with clip display and trim functionality
- ExportPanel - Export controls with progress tracking
- ErrorBoundary - Global error handling and recovery
- File operations (import, save dialogs)
- FFmpeg video processing
- Progress updates during export
- Error handling and logging
Clean import interface with Browse Files button and imported clips list
Professional video player with play/pause controls and time display
Visual timeline showing imported clips with proportional widths
Timeline-based trimming with draggable handles and visual indicators
Export progress tracking and success confirmation
"App is damaged" warning on macOS:
- Right-click the app → Open
- Click "Open" in the dialog
- This is normal for unsigned apps
FFmpeg not found error:
- Ensure you're using the packaged app (not dev mode)
- FFmpeg binaries are bundled with the packaged app
- Try reinstalling the app
Video won't play:
- Check file format (MP4/MOV supported)
- Ensure file isn't corrupted
- Try a different video file
Export fails:
- Check available disk space
- Ensure output directory is writable
- Try a shorter video clip first
App crashes:
- Check console for error messages
- Try restarting the app
- Report issue with error details
- Use shorter video clips for faster processing
- Close other applications during export
- Ensure adequate RAM (4GB+ recommended)
MVP Status: ✅ COMPLETE (All 10 PRs finished)
Development Time: 72 hours (Oct 27-29, 2025)
Final Deadline: Oct 29, 10:59 PM CT ✅ ACHIEVED
- ✅ PR #1: Project Setup (Electron + React)
- ✅ PR #2: File Import System
- ✅ PR #3: Video Player Component
- ✅ PR #4: FFmpeg Export Integration
- ✅ PR #5: Timeline Component
- ✅ PR #6: Trim Controls (Timeline-based)
- ✅ PR #7: UI Polish & Bug Fixes
- ✅ PR #8: Error Handling & Stability
- ✅ PR #9: Packaging & Build System
- ✅ PR #10: Documentation & Demo
Total: 10/10 PRs complete (100% MVP delivered!)
- Complete video editing pipeline from import to export
- Professional desktop app with native OS integration
- Timeline-based trimming with visual feedback
- Multi-clip support with concatenated export
- Production-ready error handling and stability
- Comprehensive documentation (~200,000 words)
- Packaged distribution ready for users
This project followed a documentation-first development approach:
- Comprehensive planning before coding (PR_PARTY documentation)
- Step-by-step implementation with detailed checklists
- Continuous testing and bug documentation
- Production-ready packaging with proper error handling
All development documentation is available in the PR_PARTY/ directory.
MIT License - See LICENSE file for details.
Built as an MVP demonstration in 72 hours using:
- Electron for desktop framework
- React for UI components
- FFmpeg for video processing
- Comprehensive documentation practices