DEV Community

ZephyrTran
ZephyrTran

Posted on

I built a 100% client-side image & PDF toolkit — no uploads, no server

I kept reaching for online tools to compress an image, convert a PDF, or grab audio from a video — and every one of them uploads your file to a server. For anything remotely personal, that felt wrong. So I built Snapvi: a set of free image / PDF / video tools that run entirely in the browser. Your file never leaves your device.

A few things I learned building it:

  • canvas + toBlob covers a surprising amount: format conversion (incl. WebP), resizing, cropping, collage — all client-side.
  • pdf-lib and pdf.js handle merge / split / compress / page-numbering / PDF↔image without a backend.
  • Web Audio decodeAudioData + a small JS MP3 encoder (lamejs) extracts audio from a video to MP3/WAV locally.
  • For the AI tools (background removal, image upscaler, sharpener) I run the models in-browser via TensorFlow.js — the image still never uploads. The trade-off is the model download + slower on weak phones, which I gate with size caps and a "fast vs max" toggle.
  • Lossless EXIF/GPS stripping is just parsing the JPEG APP segments and dropping them — no re-encode. Turned that into a metadata remover.

It's a static site on Cloudflare Pages, so hosting is basically free and there's no server to leak anything.

Happy to answer anything about the client-side approach — what would you want to see run in-browser next?

Top comments (2)

Collapse
 
online366 profile image
online365

That's great! Browsers can do so much more now. No need to download .exe files or clients anymore.

Collapse
 
zephyrtran profile image
ZephyrTran

Tks you !