←back to projects
tools·2026
PDFForge Case Study
A browser-based PDF toolkit for merging, splitting, compressing, converting, and managing PDF files through a simple and efficient workflow.
Situation
Every day, millions of people upload sensitive documents—bank statements, contracts, tax returns, and identity cards—to server-side PDF tools just to merge two files or compress a document. These legacy tools send raw files over the wire to centralized cloud servers, presenting significant privacy risks and network latency penalties for large files.
Task
My goal was to build a modern, high-performance web toolkit that:
- Executes all PDF operations (merging, splitting, rotating, organizing, page extraction) directly in the user's browser.
- Guarantees absolute data privacy—documents never leave the client's device.
- Functions completely offline as an installable Progressive Web App (PWA).
- Handles large multi-megabyte PDFs smoothly without locking up the UI thread.
Action
I engineered PDFForge as a client-first Next.js web application utilizing Web Workers and modern WebAssembly/JavaScript libraries:
- Client-Side PDF Engine: Integrated
pdf-liband custom WebAssembly pipelines to manipulate PDF byte streams entirely in client memory. - Web Worker Offloading: Isolated heavy binary parsing and PDF compilation into dedicated background Web Workers, preventing main-thread UI stutters during complex operations.
- Progressive Web App (PWA): Designed an installable desktop PWA workspace with service-worker asset caching, allowing the entire toolkit to operate offline on flights or spotty connections.
- Drag-and-Drop Workflow: Built a fluid page-reordering interface using Tailwind CSS and native HTML5 Drag and Drop API with real-time visual thumbnail previews.
Result
- Zero Server Latency: Merge and split operations complete in milliseconds because no bytes are uploaded over HTTP.
- Strict Privacy: 100% client-side security verified by inspecting network tabs; zero document bytes touch a remote server.
- Adoption: Live and actively used at pdfforge.acharyanischal.com.np with full open-source code on GitHub.