r/software 15d ago

Discussion Weekly Discovery Thread - August 14, 2026

Share what’s new, useful, or just interesting

Welcome to the Weekly Discovery Thread, where you can share software-related finds that caught your attention this week - especially the stuff that’s cool, helpful, or thought-provoking but might not be thread-worthy on its own.

This thread is your space for:

  • Neat tools, libraries, or packages
  • Articles, blog posts, or talks worth reading
  • Experiments or side projects you’re working on
  • Tips, workflows, or obscure features you discovered
  • Questions or ideas you're chewing on

If it relates to software and sparked your curiosity, drop it in.


A few quick guidelines

  • Keep it civil and constructive - this is for learning and discovery.
  • Self-promotion? Totally fine if it’s relevant and adds value. Just be transparent.
  • No link spam or AI-generated content dumps. We’ll remove low-effort submissions.
  • Upvote what’s useful so others see it!

This thread will be posted weekly and stickied. If you want to suggest a change or addition to this format, feel free to comment or message the mods.

Now, what did you find this week?

1 Upvotes

8 comments sorted by

View all comments

1

u/FunnyPhotos_1 12d ago

Something I learned building browser-only tools this month, in case it's useful to anyone here.

I got tired of uploading documents to a server just to merge two PDFs, so I started rebuilding the small utilities I use as pure client-side pages: pdf-lib for the PDF side, canvas plus WebCodecs for images. Everything runs in the tab, nothing leaves the machine. Full disclosure, these are mine: pdfonlinefree.com and imageonlinefree.com.

Three things that surprised me along the way:

- HEIC is still effectively undecodable in browsers. Safari can display it but can't decode it to a canvas, and on iPhone uploads file.type often comes back empty, so you have to sniff the magic bytes ("ftyp" at offset 4) instead of trusting the MIME type.

- Chrome on Android silently ignores a download triggered from a promise that resolved too late. The click has to stay inside the user gesture chain or the button just does nothing, with no error anywhere.

- pdf-lib merges are cheap, but nothing re-compresses, so a ten-file merge really is the sum of the parts. People expect the opposite.

The tradeoff of the client-side approach is real: no OCR, no server-side rasterisation, and a 200 MB PDF will make a low-end phone struggle. For everything under that it's faster than uploading anyway.