I built 114 developer tools with no backend — everything runs in your browser
A few months ago I caught myself doing something I tell other people not to do: pasting a production JSON payload, a password I had just generated, and a client's tax ID into three different free tool websites. Each one
A few months ago I caught myself doing something I tell other people not to do: pasting a production JSON payload, a password I had just generated, and a client's tax ID into three different free tool websites. Each one sent my data to a server I knew nothing about, and I had no way to check what happened to it afterwards. That discomfort stuck with me, and it became the idea for Tooloraa — a collection of 114+ free tools that run entirely in your browser. You can try it at https://tooloraa.in. There is no sign-up, no upload, and no telemetry.
The problem with server-side tools
Most online tools work the same way: you paste something in, it travels to a server, gets processed, and comes back. That is fine for a colour picker. It is not fine for a JWT, a private key, a password, or a PAN number. Even when a site is honest, the data passes through logs, caches, and analytics pipelines the user never sees. For developers in India, the risk is concrete — PAN, GSTIN, and IFSC numbers are exactly the kind of data that should never leave your machine. I wanted tools I could trust with that data, and the only way to be sure was to make the work happen locally, where I could see it.
The approach: everything client-side
So I built Tooloraa as a static site with no backend at all. The JSON formatter and validator, the Base64 encoder, the JWT decoder, and the hash tools are all plain JavaScript running in the page. Nothing is sent anywhere, because there is nowhere to send it to. The password generator uses the Web Crypto API — crypto.getRandomValues() — instead of Math.random(), which matters: Math.random() is not meant for secrets, and a password tool that uses it is quietly lying to its users. Converters and calculators are the same story. They are small functions, but they are honest ones: the input stays in your tab, and closing the tab is the same as deleting it.
A bonus cluster for India
Because I am building this in Vadodara, I added a cluster I kept wishing existed: validators for PAN, GSTIN, and IFSC, plus an INR number-to-words converter. These are the small, boring checks that come up constantly in Indian fintech and accounting work, and they are also the checks where pasting data into a random server is the worst idea. They run locally too, with the same checksum logic you would write in a backend — just without the backend.
What I learned
The biggest lesson was that removing the server removes a whole category of problems, but it adds others. Performance becomes your problem: a formatter that freezes on a 2 MB JSON file is useless, so I had to be careful about parsing and rendering. Offline behaviour becomes a feature you have to design for, not something you get for free. And trust becomes a design question — users cannot see that nothing is uploaded, so the site has to be simple enough that the claim is believable. No accounts, no cookies for tracking, and no network calls in the developer tools tab are part of the product, not just the privacy policy.
I am a final-year engineering student, and this is a side project built in evenings, not a startup. It is free forever, and I am keeping it that way. If you try it, I would genuinely like to know which tool is missing from your workflow — that is the next thing I want to build.
Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.