Pakistan's news readers needed simple, trustworthy utilities — merge a PDF, turn photos into a PDF, pull images out of a PDF — without uploading personal documents to a random server. So I built them as a fully client-side toolset on our news site. Here is how, and what I learned.
The architecture: everything in the browser
The stack is deliberately boring: two CDN libraries, zero backend.
- pdf-lib handles merge and JPG-to-PDF assembly.
- pdf.js (Mozilla's renderer) handles PDF-to-JPG page rasterization. Every operation runs in the browser with chunked async steps, so the UI never freezes on a 50-page document. The key privacy property: files never leave the device. There is no upload endpoint at all.
Lessons from shipping to real users
1. Memory is the real limit, not CPU. Rasterizing PDF pages at print resolution eats RAM fast. I cap export resolution and process pages sequentially instead of in parallel.
2. Mobile Safari is the QA department. Half our traffic is mobile. pdf.js rendering on older Android WebViews needed explicit fallbacks for missing OffscreenCanvas support.
3. Small UX details carry the product. A drag-and-drop zone, per-file remove buttons, and a visible "your files never upload" notice did more for trust than any feature.
4. No-backend means no bills. Hosting is a static page. The tools cost essentially nothing to run at scale — a meaningful property when your audience is price-sensitive students and job applicants.
Try it
The tools are live and free: TimelyUps PDF Tools — merge PDFs, JPG to PDF, PDF to JPG, all in your browser. Feedback and bug reports welcome in the comments.
I run TimelyUps, a Pakistan-focused digital news outlet where we also ship free online tools for our readers.
Top comments (0)