DEV Community

luo max
luo max

Posted on • Originally published at orthogonal.info

I Built 5 Browser-Only Privacy Tools With Zero Dependencies

Every tool I build follows one rule: your data never leaves your browser.

No server uploads. No accounts. No tracking. Just HTML + JavaScript + the Canvas API.

Here's what I built and why.

1. QuickShrink — Image Compressor

Most "free" image compressors upload your photo to their server. QuickShrink uses canvas.toBlob() to compress entirely client-side.

How it works:

  1. Browser reads file into memory
  2. Canvas renders at native resolution
  3. Re-encodes at your chosen quality (80% default)
  4. You download from browser memory

Total network traffic: zero bytes.

quickshrink.orthogonal.info

2. PixelStrip — EXIF Metadata Remover

Every smartphone photo embeds GPS coordinates, camera model, and timestamps. PixelStrip parses the JPEG binary structure in JS, shows you what's hidden, and strips it all.

pixelstrip.orthogonal.info

3. TypeFast — Text Snippet Manager

A searchable clipboard with categories. Save code snippets, email templates, canned responses. One-click copy. Stores in localStorage — no server, no sync.

typefast.orthogonal.info

Why Single-File HTML?

Each tool is literally one HTML file. No React, no build step, no node_modules. Benefits:

  • < 200ms first paint
  • Works offline (PWA with service worker)
  • Zero dependencies = zero supply chain risk
  • Deployable anywhere (even file://)

The Tech Stack

HTML5 + CSS (inline) + JavaScript (inline)
├── Canvas API (image compression)
├── DataView (EXIF binary parsing)
├── localStorage (data persistence)
├── Clipboard API (one-click copy)
└── Service Worker (offline PWA)
Enter fullscreen mode Exit fullscreen mode

Open Source

Everything is on GitHub: github.com/dcluomax/app-factory

The repo also includes automation scripts for deploying via Docker + Cloudflare Tunnel, and publishing blog posts to WordPress via REST API.


What browser-only tools do you wish existed? I'm building a new one every week.

Top comments (0)