DEV Community

Cover image for Why I Built a Serverless PDF Tool (Because I Don't Trust "The Cloud" With My Data)
Pratham Aggarwal
Pratham Aggarwal

Posted on

Why I Built a Serverless PDF Tool (Because I Don't Trust "The Cloud" With My Data)

You know that feeling.

You need to merge a contract or rotate a scanned ID card, but you don't have Adobe Acrobat. You Google "free pdf merge," click the first result, and then pause.

"Am I really about to upload my passport copy to some random server?"

It always felt sketchy to me. I hated that I had to trade my privacy just to do a simple file operation. Once that file leaves my laptop, I have no idea where it goes or who sees it.

So I decided to build my own alternative.

I built Universal Converters with one strict rule: Zero Uploads.

Instead of the usual upload-process-download loop, I used WebAssembly (WASM). It basically lets the browser do the heavy lifting that a server usually does.

Why I think this is better:

  • It’s actually private: Your files never leave your device. You can literally load the page, turn off your Wi-Fi, and it still works.
  • It’s fast: Since there’s no uploading, big files are processed instantly.
  • No limits: I didn't add any arbitrary "Max 2 Files" or paywalls because... well, it’s using your CPU, not mine.

It started with just PDFs, but I ended up adding a bunch of other tools I use often, like converting HEIC images (iPhone photos) to PDF and some standard unit converters for engineering stuff.

The Tech Stack:

  • Next.js for the framework.
  • WebAssembly for the file processing.
  • Tailwind for making it look decent.

I’d love for you guys to test it out. Since everything runs client-side, I’m curious how it handles massive files on different machines.

Here is the link: https://www.universalconverters.net

Let me know if you find any bugs or if there are other privacy-focused tools you think I should add. Happy Judging me and Cheers!

Top comments (1)

Collapse
 
ketutdana profile image
Ketut Dana

thank you.
its nice project and full of features