The Developer Tools I Built for Myself (and Why)
A tour of the free calculators and dev utilities on this site — why I built each one, the itch it scratched, and what I learned shipping a dozen small tools instead of one big product.
A few years ago I noticed a pattern in my own browser history: I kept landing on random third-party websites to decode a JWT, format some JSON, or figure out whether a mortgage payment made sense. Each one was cluttered with ads, each one asked me to paste in something I'd rather not paste into a stranger's server, and each one loaded three seconds slower than it needed to. So instead of bookmarking yet another one, I started building my own. Not one big product — a dozen small ones, each doing exactly one thing.
You can find all of them under /tools on this site. This post is a tour of why they exist, grouped roughly the way I built them: developer utilities first, then the financial calculators that came later for entirely personal reasons.
Why Build Instead of Bookmark?
The honest answer is trust. When you paste a production JWT into some random "jwt decoder online" site, you have no idea what happens to that token after it leaves your clipboard. Same for API keys run through a "base64 decode" tool, or passwords typed into a "hash generator" to sanity-check a migration script. Most of these sites are probably harmless. I didn't want to bet on "probably" with anything that touched real credentials.
What "built for myself" actually means here
- Every tool runs entirely client-side — nothing you type gets sent to a server, mine or anyone else's
- No ads, no trackers, no "create an account to continue"
- Fast, because a single-purpose page with no ad network to load is just... fast
There's a second, more selfish reason too: building a genuinely useful single-purpose tool is a great way to spend a Saturday morning. No architecture debates, no backlog grooming, no stakeholders — just a clear problem, a clean UI, and a working solution by lunchtime. It's the kind of small, complete project that's increasingly rare once you've spent two decades on large systems.
The Developer Utility Belt
These are the tools I reach for myself, multiple times a week, while building everything else on this site and at work:
- JSON Viewer — pretty-print and collapse deeply nested API responses without pasting them into a chat window first
- JWT Parser — decode a token's header and payload locally, which matters a lot more when the token is real
- Regex Tester — because I still can't write a regex correctly on the first try after 19 years
- Hash Generator — quick MD5/SHA checks when verifying file integrity or debugging a caching layer
- Base64 Encoder and URL Encoder — the two I somehow need weekly and never remember the CLI flags for
- UUID Generator — for seeding test data without opening a terminal
- QR Code Generator — mostly used for sharing links to demos on a projector without anyone squinting at a URL
- Markdown Preview — for sanity-checking README formatting before it hits a PR
None of these are groundbreaking. That's the point. Each one solves an annoyance I'd hit at least once a week, and each one took a few hours, not a few weeks, because the scope was so narrow there was nothing to over-engineer.
The Financial Calculators
The second batch of tools didn't come from work at all — they came from actual life decisions where I wanted to see the real math instead of trusting a bank's marketing page or a vague rule of thumb.
These started as one-off spreadsheets
Every calculator below began life as a scratch spreadsheet I built to answer a question for myself. Once I'd built the model once, turning it into a small interactive page was maybe an extra hour of work — and then it was reusable for the next decision, and for anyone else who happened to have the same question.
- Mortgage Calculator — built while comparing 15-year vs. 30-year terms and wanting to see the total interest paid, not just the monthly payment
- Car Loan Calculator — because dealership financing offers are optimized to look good on the monthly payment line, not the APR line
- Compound Interest Calculator — for the "what if I just left it alone" question that's surprisingly hard to eyeball
- Rent vs. Buy Calculator — the most involved one I've built, modeling opportunity cost and appreciation instead of the usual "rent is throwing money away" hand-waving. I wrote up the reasoning behind it separately in Rent vs. Buy: The Math Nobody Shows You.
What all four have in common: they exist because I didn't fully trust a simplified answer for a decision involving real money, and building the actual model — even a simplified one — forced me to understand the trade-off properly before committing to it.
What Shipping a Dozen Small Tools Taught Me
Narrow scope is a forcing function
When a tool does exactly one thing, there's no room for scope creep. A JWT parser doesn't need user accounts, a settings page, or a dashboard. That constraint alone is what made it possible to ship a dozen of these instead of getting stuck perfecting one.
Most of them need zero backend
Encoding, hashing, parsing, and financial math are all things a browser can do entirely on its own. No database, no API route, no server cost, and — going back to the trust point — nothing to leak. The entire site these tools live on is a static Next.js app for exactly this reason.
Each tool is its own tiny front door
Somewhat unexpectedly, these pages are also how a fair number of people find this site at all. Someone searches "decode jwt online," lands on the JWT parser, and maybe sticks around to read a blog post or look at the portfolio behind it. A dozen narrow, genuinely useful tools turned out to be a better front door than one polished homepage.
Try Them, and Tell Me What's Missing
All of these are free, run entirely in your browser, and live at /tools. The list keeps growing whenever something annoys me enough — the next one usually starts the same way the last twelve did: with a random third-party site I don't quite trust, and a Saturday morning free to fix that.
Continue Reading
Explore more articles on software engineering and technology
Building Real-Time Full-Stack Applications: A Complete Guide
Ever wondered how apps like Notion, Linear, or Discord keep everything in sync? Learn the complete guide to building real-time applications with WebSockets, SSE, and Supabase Realtime.
daisyUI: Write 88% Less Code and Build Beautiful UIs Faster
Discover how daisyUI transforms Tailwind CSS development with semantic component classes. Learn installation, usage, theming, and real-world examples to accelerate your UI development by 10x.
Build Full-Stack Apps in Hours, Not Weeks with Supabase
Discover how Supabase accelerates development with its comprehensive backend-as-a-service platform. Learn to build production-ready apps with Postgres database, authentication, real-time subscriptions, storage, and edge functions.