DEV Community

Anas Khalid
Anas Khalid

Posted on

I built 45+ free tools that process files entirely in the browser — here's the architecture

Most free "compress this image" or "convert this PDF" sites work the same way: upload your file to their server, process it, send it back. I built ToolHub to avoid that where possible — most of the 45+ tools on there run entirely in the browser, so the file never actually leaves your device.

A quick sample of what's on there:

Image tools — compressor, resizer, cropper, format conversion, all processed client-side with a live before/after preview
PDF tools — merge, split, compress, and conversion to/from Word, Excel, and PowerPoint (that last one was the hardest to build — no good client-side library exists for generating real .pptx files, so I ended up hand-building the OOXML structure and verifying it with python-pptx before shipping)
Developer tools — JSON formatter, regex tester, hash generator, Base64, UUID generator
Color tools — color picker (samples real pixel values from an uploaded image), palette generator, format converters
A couple of social tools — YouTube thumbnail downloader, Instagram image resizer

Stack: React + Vite frontend, Node/Express/MongoDB backend for the account/history/favorites side — the file processing itself never touches the server.

Still early on distribution. If anyone's got thoughts on the tools, or on "browser-based, no upload" as a real differentiator vs. just another free tool site, I'd like to hear it.

TOOLHUB

Top comments (4)

Collapse
 
101beardo profile image
Tarun Sharma

Hand-building OOXML for the pptx export is the part that stands out, that format is genuinely painful to generate correctly since PowerPoint is picky about relationship IDs and content types even when the XML looks valid. Verifying against python-pptx as a sanity check is smart. On the "no upload" differentiator question, I'd lean into it hard for anything work related, PDFs with client contracts or financial data going through a browser tab instead of a random server is a real selling point, not just a privacy nice-to-have.

Collapse
 
trytoolhub profile image
Anas Khalid

Appreciate that, especially re: the relationship IDs/content-types - that's exactly where I burned the most time. Everything looked structurally fine and PowerPoint would still reject it silently. Round-tripping through python-pptx in a separate test pass (not just trusting my own code) is what actually caught it.

And yeah, you've put into words something I've been circling around but hadn't landed on clearly - "your contracts/financial docs shouldn't touch a random server" is a much sharper pitch than "private & secure" as a generic bullet point. Going to think about how to actually lead with that instead of burying it in a features list. Thanks for this.

Collapse
 
101beardo profile image
Tarun Sharma

Glad that framing landed, it's the kind of thing that's obvious once you hear it but easy to miss when you're stuck writing the features list. OOXML is a genuinely nasty spec to hand roll correctly, good on you for actually round tripping through python-pptx instead of just trusting your own writer

Thread Thread
 
trytoolhub profile image
Anas Khalid

Appreciate that - and yeah, exactly, it's easy to bury the actual selling point in a features list when you're heads-down building instead of stepping back to think about who actually needs to hear it.

And thanks again on the OOXML front - it really is one of those specs where "looks valid" and "PowerPoint will actually open it" are two different things. Wouldn't have trusted it without the python-pptx round-trip.