100 Days, 87 Tools, Zero Servers

I spent 100 days building ToolKnit. It is a suite of 87 browser-based tools.

Most tool sites work like this:

  • You upload a file.
  • A server processes it.
  • You download the result.

This means your sensitive PDFs and photos sit on someone else's server. I wanted a different way. Every tool in ToolKnit runs entirely in your browser. No files leave your device.

Here is what I learned about building without a backend.

The Stack

  • HTML and Tailwind CSS.
  • Vanilla JavaScript.
  • PHP for simple stats only.
  • Zero frameworks. No React. No Vue.

Why Static HTML?

  1. SEO is better. Google crawls static pages instantly. There are no hydration delays.
  2. Speed is higher. Users get tools immediately. They do not wait for large JavaScript bundles to load.
  3. Costs are low. I use almost no server power.

The Challenges Building 87 pages without components is hard. If I change a footer link, I have to edit 87 files. I had to write Python scripts to manage this.

I learned the limits of the browser:

  • PDF compression is hard. It requires complex stream manipulation to avoid file corruption.
  • Audio synthesis is deep. Making a realistic piano sound requires multiple oscillators and custom harmonics.
  • Video is heavy. Using ffmpeg.wasm works, but the 32 MB download is a burden for slow connections.

My Biggest Lesson Kill features that almost work.

I built a tool for iPhone Live Photos. It had three major flaws:

  • The math for rounded corners was wrong in the Canvas API.
  • Video transcoding took too long.
  • Apps like WeChat stripped the data I needed.

A tool that is 90% functional erodes trust. If it is not great, do not ship it.

What is Next? I am now building a desktop app using Tauri and Rust. It will follow the same rule: all processing stays local.

Summary of the 100-day build: • 87 tools shipped. • 3 tools killed. • 0 framework dependencies. • 3,000+ total uses.

Are you building client-side tools? Tell me about your architecture in the comments.

Source: https://dev.to/dngzihng114379/100-days-87-tools-zero-servers-what-i-learned-building-a-fully-client-side-utility-suite-1bh0