DEV Community

Jiří Čech
Jiří Čech

Posted on

Building a toolkit that keeps file processing in the browser

I’ve launched 2059 Studio, a free collection of six tools built with React and TypeScript:

• QR generation
• Image resizing, compression, and conversion
• Color palettes and contrast checks
• Favicon and app icon generation
• Social preview cards
• JSON formatting and validation

The architecture keeps user files and content in the browser. The separate Express/SQLite backend records aggregate tool opens and exports.

One interesting QR issue was Unicode handling. The encoder’s default byte conversion caused Czech text to fail an exact-content decoding check. Supplying UTF-8 bytes explicitly fixed it.

QR exports are checked by decoding the rendered image and comparing the result with the original payload. This catches unreadable outputs, although physical print testing is still important.

Other details include lazy-loaded tool modules, CSV batch cancellation, locally saved QR styling presets, and embedded fonts for Czech PDF captions.

Live site:
https://tools.jiricech2059.com

I’d welcome specific feedback on the QR workflow, mobile controls, and export experience.

Development and this write-up used AI assistance.

Top comments (1)

Collapse
 
sujalkhatri profile image
Sujal Khatri •

Nice build. Two things stood out to me: verifying QR exports by decoding the rendered image and comparing it against the original payload is a genuinely clever self-checking loop, and the Unicode gotcha with the encoder's default byte conversion is exactly the kind of bug that only real-world text (Czech diacritics, in your case) ever surfaces. One question on the architecture: the separate Express/SQLite backend, does any user content ever touch it, or is it purely for metadata like presets? If content truly never leaves the browser, saying that explicitly per tool is a real trust win, since that's what makes people comfortable pasting sensitive JSON. Congrats on shipping.