About the project
Every developer keeps a dozen bookmarks for small chores โ decode a JWT, turn YAML into JSON, read a cron line, make a QR code โ and each one means pasting tokens and passwords into a stranger's website. The Toolbox puts thirty-one of those tools in one page that never sends anything anywhere: every tool runs in the browser, and a service worker keeps the whole thing working with no connection, so it installs on an iPhone home screen like an app. It was inspired by the open-source IT Tools but written from scratch, without a framework or a build step: each tool is a small object with a render function, and the heavier libraries (the SQL formatter, the QR reader) load only when their tool is opened. What you type is kept for the session so switching tools loses nothing, except in the tools that handle secrets, which keep nothing. The QR scanner reads codes from the phone camera or a screenshot and understands WiFi codes; the docker run converter writes a compose file and says which flags it could not carry over. A smoke test drives headless Chrome through every tool with known answers, then cuts the network and checks the live site still works offline.
The third version, taking its ideas from delphi.tools, grew it from thirty-one tools to a hundred and ten in eleven drawers: images (compress, convert, crop for social media, strip GPS, favicons, an AI background remover that runs on the device), colour (contrast checking, palettes, colour-blindness simulation), PDF (merge, number, compress, booklet imposition), audio and video (trim, normalise loudness, GIFs, burned-in subtitles, Whisper transcription), type, calculators and ciphers. Tools now talk to each other: any result can be sent on to another tool, a file dropped anywhere offers the tools that can open it, and workflows chain several tools over a batch of files. The heavy parts โ a video engine and the AI models โ download only when a tool needs them and the person agrees, and are then kept for offline use. Nine drawers were built in parallel, each with its own tests, against one shared hand-off layer.
Vanilla JSPWAWorks offlineCloudflare Pages110 tools