Why I Built a Privacy-First PDF Tool for India's Government Portals (And the Tech Behind It)
Updated
May 20, 2026
•
5 min read
RahulBanerjee
RahulBanerjee
Part of series
Building in Public — PDF Pro
Every Indian who has applied for a government job, filed an ITR, or renewed their passport knows the frustration I'm about to describe.
You have spent hours gathering your documents — Aadhaar card, PAN card, marksheets, photographs. You open the portal. You upload your carefully scanned PDF. And then you see it:
❌ "File size exceeds the maximum limit of 200KB. Please upload a smaller file."
Your file is 2.1MB. You try again. 1.8MB. Still rejected. You are now frantically Googling "how to compress PDF online free" at 11:45 PM, the night before the application deadline.
Every tool you find has the same catch: upload your document to our servers first.
That is exactly the problem I set out to solve.
The Privacy Problem Nobody Talks About Think about what you are uploading when you use a typical online PDF compressor:
Your Aadhaar card (your national identity number) Your PAN card (your tax identity) Your bank statements (your complete financial history) Your ITR filings (income, assets, liabilities) These files are being sent to servers in the US, Europe, or wherever the company is hosted. You have no idea what happens to them after processing. Are they stored? For how long? Are they used to train AI models? Are they sold?
Most privacy policies of these tools are vague at best and alarming at worst.
When I dug into this problem, I realized the solution already existed in the browser. We just weren't using it.
The Solution: WebAssembly Changes Everything Modern browsers ship with a technology called WebAssembly (Wasm) — a binary instruction format that lets you run near-native speed code directly inside the browser sandbox.
Libraries like pdf-lib and Ghostscript compiled to Wasm mean you can run a full PDF compression engine entirely inside the user's browser tab.
Here is what this means practically:
Traditional Cloud Tool: User → Upload file to server → Server compresses → Download result ↑ Your private document lives on their infrastructure PDF Pro (Wasm-based): User → File loads in browser memory → Browser compresses locally → Download result ↑ Your document never leaves your computer The file never touches a remote server. Not even for a millisecond.
Building PDF Pro I built PDF Pro (https://pdfpro.co.in) as a Next.js application with a Wasm core. Here is the architecture in plain terms:
Frontend: Next.js 16 (App Router) hosted on Vercel PDF Engine: WebAssembly-compiled compression libraries running client-side Analytics: Google Analytics for aggregate visitor counting only — no PII Backend: None. There is no backend that touches your files.
The stack is intentionally minimal. The less infrastructure you have, the less can go wrong from a privacy standpoint.
The Compression Challenge Government portals in India have wildly different file size requirements:
Portal Limit UPSC IAS Application 200KB SSC CGL 200KB IBPS PO 500KB Passport Seva 1MB ITR Filing 1MB Visa Application 1MB Building a single tool that handles all these targets while preserving document readability was the core engineering challenge. Too aggressive on compression and your Aadhaar number becomes unreadable. Too gentle and the portal rejects the file.
The solution was letting the user control the compression level explicitly, with a real-time preview of the output file size before they download.
What I Learned Building This
Indian users are underserved by Western productivity tools Most global PDF tools are built for English-speaking Western users filing corporate documents. The specific pain point of compressing identity documents for strict-size government portals is a uniquely Indian problem that nobody was solving well.
Privacy is a feature, not a checkbox When I started describing PDF Pro as "your files never leave your browser," the response from users was immediate and emotional. People care about this. They had just never had a tool that made it the central promise.
WebAssembly is criminally underused in productivity tools The performance of Wasm-compiled PDF libraries surprised even me. Compression that would take a server round-trip (upload → process → download) now completes in under 3 seconds on a mid-range phone, entirely offline, with no latency.
The Bigger Picture We talk a lot in the developer community about building products for global audiences. But there are 1.4 billion people in India navigating government digital infrastructure that was not designed with them in mind.
If you know WebAssembly, you have a genuine superpower to fix these problems — tools that work offline, respect privacy by design, and don't require a subscription or an account.
PDF Pro is proudly built in India. Not as a marketing line, but as a genuine statement of intent about who this tool is for.
Try It The tool is completely free with no account required:
If you are a developer curious about the Wasm implementation, feel free to reach out at rahulorama@gmail.com . I am happy to discuss the technical architecture in more detail.
And if you are an Indian developer building tools for Indian problems — I would love to connect. This space needs more of us.
Rahul Banerjee is an independent developer based in India. He builds privacy-first productivity tools using modern web technologies.

























