Why I’m doing this
I wanted a place to practice real-world front-end: routing, state, accessibility, keyboard flows, and performance. Shipping tiny, single-purpose tools forces me to learn quickly and iterate.
I’m building Utilixy as a way to learn how the web actually works: performance, browser APIs, file handling, workers, and a bunch of little UX details. The tools are simple on purpose—small projects that help me explore, and (hopefully) help you get things done, fast.
I wanted a place to practice real-world front-end: routing, state, accessibility, keyboard flows, and performance. Shipping tiny, single-purpose tools forces me to learn quickly and iterate.
Next.js + TypeScript + Tailwind for the UI. Under the hood: browser APIs (Canvas, File, Streams), Web Workers for heavy work, and lightweight libraries where it makes sense (e.g. PDF handling, zipping, QR generation). Everything aims to be client-side only.
If a tool ever needs a network call (rare), I’ll call it out in the UI.
No—by default, files are processed locally in your browser. That’s the whole point: fast, private, disposable.
Ads help keep the site free. If you decline personalization, you’ll still see non-personalized (contextual) ads without tracking cookies.
Please do—I’m learning as I go. Bug reports, UX nitpicks, and small wins are very welcome.
Parts may be opened up as they stabilize. The goal is to keep things simple enough that you can read the code and learn from it too.
Found a bug? Want a tool? Curious how something works?