The Client
Designers on Webflow jobs. Overweight assets get rejected. Public compressors send client files to someone else's server. We wanted the prep step on the machine that already has the folder.
This is a local app. There is no public product URL. Do not use a future hostname as if it were live. Toolshed only, off /built.
The Brief
Compress and convert JPEG, PNG, WEBP, and AVIF locally. Quality presets, resize, a before-and-after slider, and batch processing. Ship it in a form a Mac designer can double-click, and keep a Python version for Windows.
The Approach
One master script in 01-Development/compressor.py. Other folders are synced from that file. Never edit the copies. Mac users who do not want Python get 04-Complete-Standalone, with ImageMagick bundled. Windows uses the Python UI. There is also a local browser UI on the same machine. None of those are a public site.
1. Pick files
Stay on the machine
2. Preset
Low 30%, Medium 50%, High 80%
3. Compare
Before / after slider
4. Write
Same folder or custom out
Technical Implementation
Repo is Pacing-Agency/imagecompressor. Owner is Ben Power. ImageMagick plus Pillow. Advanced options include PNG optimisation, grayscale, and sharpening. Smart caching speeds a second pass after preview.
| Version | Platform | Use |
|---|---|---|
| 01-Development | Windows, Mac, Linux | Only cross-platform copy |
| 02-AppleScript-Launcher | Mac | Native wrapper, Python still required |
| 04-Complete-Standalone | Mac | Zero-dependency app for sharing |
| Format | In the app |
|---|---|
| JPEG | Yes |
| PNG | Yes, with extra optimisation |
| WEBP | Yes |
| AVIF | Yes |
- Presets: Low 30%, Medium 50%, High 80%. Resize by width or percentage.
- Batch: Several files in one go. Output can stay next to the source or go to a folder you pick.
- Not TinyPNG: For our Webflow prep, files stay local. We still use a vendor tool when a hosted service is the right job.
Results & Impact
- Webflow uploads start from files we already resized and compressed.
- Client photos do not need to go through a public compressor to get there.
- Mac designers can run the standalone app. Windows stays on the Python UI.
The inventory note on the docs site is a catalogue page. It does not mean a hosted compressor is live.
If you are on Windows, start in 01-Development. If you are handing a Mac to someone who should not install Python, use the standalone app. That is the whole support matrix.
Why It Worked
The job is boring and frequent. A local app beats another browser tab that uploads the shoot.
- Local by design: No public URL to confuse with a product.
- One master script: Sync after edits. The copies do not drift by hand.
- Toolshed: Mention it as goodwill. Do not lead /built with it.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.








