When you allow users to upload images to your website or app, what are the accompanying features you should have? Usually, this includes the ability to create previews (or thumbnails) of different sizes, add watermarks, crop to a specific aspect ratio, and so on.
The “classic” kind of way to do this is with an “in-house” approach. You plug in some libraries to process images (and install imagemagick or libvips to your servers or Docker images), and then create an entire pipeline to do the actual processing: configs, storage, background jobs. This is some complex machinery, but do we really need it?
Instead, enter the amazing world of image processing services that will change your life forever. 🦄 🌈 ✨
After making the switch, you'll never want to return to the “manual” way of handling thumbnails. Your applications will become more simple and reliable, UX will improve, and your hair will finally become soft and silky smooth.
Let's talk about the difficulties and dangers the “classic” approach entails, how image processing services solves them, and just how simple that is!
And, as an example of such a service, I'll tell you about imgproxy, an amazing tool which I'm going to shamelessly advertise!