DEV Community

yanan yu
yanan yu

Posted on

Why I built a suite of 14 web tools using ONLY Client-Side JavaScript šŸš€ (Zero-Trust Architecture)

Hey DEV community! šŸ‘‹

As web developers, we use online utilities every single day. We format massive JSON responses, compare code snippets, compress images, and convert PDFs.

But recently, I hit a breaking point.

I was working on a project involving sensitive user data, and I needed to format a massive, minified JSON payload. I instinctively googled "JSON formatter" and was about to paste the data into the first result. Then it hit me: Where exactly is this data going? Most of these "free" online tools upload your data to a backend server, process it, and send it back. For proprietary code, API keys, or confidential financial documents, this is a massive security nightmare.

So, I decided to build my own solution.

šŸ› ļø Enter: Mini-Tools.uk
I spent the last few weeks engineering a suite of 14 essential daily utilities with one strict rule: Zero server uploads. 100% Client-Side processing.

Here is how I tackled the technical challenges without relying on a backend:

  1. The Developer Suite (JSON Formatter & Diff Checker) Instead of relying on server-side parsing, I leveraged powerful frontend libraries.

The JSON Formatter: I integrated a collapsible tree viewer that handles deeply nested objects flawlessly. It auto-detects syntax errors in real-time right in your browser's memory.

The Diff Checker: I implemented a professional split-view layout with "Smart Sync Scrolling." When you scroll the original text on the left, the modified text on the right scrolls perfectly in sync. It uses word-level diffing algorithms purely via JS.

  1. Secure Media Processing (Image Optimizer & PDF Tools) Uploading a personal ID or a confidential contract to compress it? No thanks.

Image Optimizer: I utilized the HTML5 API. When you drop an image, the browser draws it onto an invisible canvas and re-exports it as a highly compressed WebP, JPG, or PNG. You even get a live "Before/After" interactive slider to check the quality before downloading.

Total Privacy: Because it runs locally, processing a 5MB image is instantaneous. No upload progress bars. No waiting.

  1. Cryptography & Finances Password Generator: Relies strictly on the browser's native Web Crypto API (crypto.getRandomValues) to ensure cryptographically secure, unguessable strings, rather than weak Math.random() functions.

Global Currency & UK Tax: The tools fetch exchange rates and tax bands, cache them locally, and perform all mathematical calculations on your device, meaning they even work offline once loaded!

⚔ The Result: A "Native App" Experience
By completely stripping away the backend architecture for data processing, the result was incredibly satisfying:

Absolute Privacy: It's physically impossible for me to see or store user data.

Zero Latency: The tools react instantly. It feels like using a native macOS or Windows desktop application.

No Intrusive Ads: Just clean, minimalist UI built with Tailwind CSS.

šŸ¤ I'd love your feedback!
I built this platform primarily to scratch my own itch, but I've made it completely free and open for everyone. It even supports 5 languages (English, Spanish, French, German, and Chinese).

You can check it out here: https://mini-tools.uk

I'm constantly looking to improve the performance and add new features. If you are a frontend dev, I’d love to hear your thoughts on client-side processing, or if you manage to break any of the tools (especially the JSON or Diff checker)!

Let me know what you think in the comments! šŸ‘‡

Top comments (0)