Projects · 10
Squishless
By Haider Ali ·
Squishless, by Haider Ali, resizes photos with seam carving so people and buildings keep their shape: a Go engine compiled to WebAssembly, in the browser.
Resize photos without the squish. Seam carving trims empty sky, grass and water so the people and buildings keep their shape, all in the browser with nothing uploaded.
Oct 2026 · shipped

A normal resize squashes everything. Squishless uses seam carving to remove the most boring paths of pixels instead, so the photo changes shape and its subject keeps its own.
Key facts
- Seam carving in Go + WebAssembly
- Runs in-browser, nothing uploaded
- ~1.5 ms live-preview frames
- Installable, works offline
What it does
- Drag an edge and the preview follows; the full-quality result lands when you let go.
- Presets by purpose: square, 4:5 post, 9:16 story, 16:9, banner or exact pixels.
- "vs normal resize" shows what a plain squash would have done to the same photo.
- Keep / remove brush, automatic face protection and batch download as one ZIP.
How it's built
- Go engine compiled to WebAssembly, run in Web Workers so the page stays smooth.
- Seam-order map: each pixel’s removal order is computed once, so live preview takes ~1.5 ms a frame.
- Private by design: an offline-capable PWA, no server, no trackers, strict CSP.
- Tested in Chrome, Firefox, Safari, Pixel 7 and iPhone 14 with Playwright.
The desktop edition
- A local Go web app with prebuilt binaries: ~0.1–0.3 s for a 1000 × 650 photo.
- About 50× faster than the esimov/caire library it adapts.
- Squishless Studio: a lab that streams every seam to the browser as it is carved.
Stack
- go
- webassembly
- web workers
- javascript
- pwa
- service worker
- playwright
Links
#go #webassembly #image processing



