
I Built 18 Browser-Based Tools with Zero Server Calls — Here's How
The Problem Every time you upload a PDF or image to an online tool, you're trusting a random server with your files. What if the tool could run entirely in your browser instead? I built two sites that do exactly that: PDF Tools — 8 PDF tools (split, merge, compress, sign, and more) Image Tools — 10 image tools (compress, resize, crop, AI background removal, and more) Zero file uploads. Everything runs in JavaScript on your device. Tech Stack React 19 + Vite 7 PDF side: pdf-lib , pdfjs-dist , ExcelJS , jsPDF Image side: Canvas API , @imgly/background-removal , TensorFlow.js + ESRGAN 1. Code Splitting: 2,775KB → 248KB Initial Load The first build was huge. Every library loaded upfront, even if the user only needed one tool. Fix: React.lazy() + Vite manualChunks // Each tool loads only when selected const SplitMode = lazy (() => import ( ' ./components/SplitMode ' )); const MergeMode = lazy (() => import ( ' ./components/MergeMode ' )); const CompressMode = lazy (() => import ( ' ./compon
Continue reading on Dev.to
Opens in a new tab




