RippleEdit is a native macOS SwiftUI editor for product demo videos. It is designed for placing animated click or tap ripple overlays on top of screen recordings, adjusting their timing visually, and exporting a finished video.
The UI follows a Mac-native editing layout:
- large video preview in the center
- timeline at the bottom for ripple timing
- collapsible
Format & Styleinspector on the right - shape picker and export actions in the top toolbar
- Import
MP4,MOV,AVI, andM4Vclips - Preview animated ripple overlays directly on top of the video
- Add ripple shapes:
- rounded rectangle
- capsule
- circle
- Drag and resize ripples in the preview
- Adjust ripple timing visually in the timeline
- Edit ripple parameters per object:
- ripple layers
- layer spacing
- color
- propagation distance
- ripple width
- edge fade mode
- edge fade width
- saturation decay
- spread speed
- opacity
- rounded rectangle corner radius
- Export a new MP4 with the ripple animation burned into the video
- SwiftUI
- AVFoundation
- AVKit
- AppKit
- XcodeGen
Sources/RippleEdit: application sourceRippleEdit.xcodeproj: generated Xcode projectproject.yml: XcodeGen project definitionPackage.swift: Swift Package entry for local builds
Open the project file:
open RippleEdit.xcodeprojThen choose the RippleEdit scheme and run the app.
git clone https://github.com/shuhari04/RippleEdit.git
cd RippleEdit
swift build
swift run- Launch the app.
- Click
Import Videoand choose a screen recording or product demo clip. - Click the
+button in the toolbar and add a ripple shape:- rounded rectangle
- capsule
- circle
- Drag the ripple in the preview to position it.
- Resize it from the selection handle.
- Drag the ripple marker in the timeline to adjust when it appears.
- Select the ripple and open
Format & Styleto fine tune its appearance. - Click
Exportto render a new MP4 with the ripple overlay burned into the video.
Each ripple can be adjusted with:
- ripple layers
- layer spacing
- ripple color
- propagation distance
- ripple width
- edge fade mode
- edge fade width
- saturation decay
- spread speed
- opacity
- rounded rectangle corner radius
- macOS 13 or later
- Xcode 15 or later recommended
- Swift 5.10 toolchain recommended
- The project currently targets macOS 13+.
- Export is implemented as MP4 output with ripple overlays composited into the video.
- The app is currently optimized for a single-track ripple editing workflow rather than full nonlinear editing.
MIT