If you've ever tried adding a GIF or animated WebP of a screen recording to your project's README, you know how annoying it can be. You just want to show people how your product works without spending 20 minutes editing a video, but a few friction points always pop up.
A good README is important. Seeing an app in action builds way more trust than a wall of text. So I built a lightweight video editor called GiffyPy specifically to fix this workflow.
Here are the main issues it solves (or click here to skip directly to the GitHub repository):
1. Removing the taskbar and black borders
In OBS Studio, even if you use Window Capture, you often end up with black bars or the taskbar stuck in the recording:
This happens because OBS forces a specific output resolution instead of locking to the recorded window. Cropping it cleanly in a regular video editor like DaVinci Resolve requires trial and error with resolutions. GiffyPy lets you drag a box and crop your video like an image.
2. Opening instantly and fast seeking
I usually only need to trim the ends and cut out a few middle parts. Waiting for a heavy editor like Clipchamp to load takes longer than the edit itself.
GiffyPy opens in under a second. To keep scrubbing fast, it generates a low-res image sequence during opening the file. When you move the playhead, it switches to the image. When you let go of the mouse, it swaps back to the full-res frame. So unlike Clipchamp, no loading screens while seeking.
3. Optimization
You adjust frame rate, resolution, and quality sliders so your video stays lightweight.
4. Fast exports
Exporting doesn't show a File Explorer pop-up every time. You can either overwrite the original file directly or save a numbered copy.
I'm also planning to add a "Copy to Clipboard" button so you can paste WebP/GIF files directly into READMEs or DEV.to posts. You can check the repo README for the latest updates.
5. Multiple export formats
It currently supports animated WebP, GIF, MP4, WebM, MOV, and MKV.
6. Custom app icon
Not a big feature. But an icon in the taskbar is very important for me:
How it was made
It's built using Python and PySide6. You can check out the code on GitHub:
👉 effessdev/GiffyPy
Note: It requires FFmpeg to work. On Windows, you can install it via the command prompt:
winget install Gyan.FFmpeg
A question on PyInstaller
While opening a video file, the app briefly freezes while loading. This doesn't happen when I run main.py directly, only in the packaged .exe version built with PyInstaller.
Has anyone run into this issue with PyInstaller and PySide6/Qt before? I have no idea why this happens.
What features should I add next?
It largely ticks all my personal boxes right now, but I'd love to know what features would make this more useful for everyone. What should I work on next?





Top comments (0)