So, we had 3,000 master images that need to be cropped for various media. For some, there were 30 different sizes to prepare for. 90,000 images in total.
Imagine the time and pain involved trying to accomplish that in Photoshop. You’d need a document with 30 artboards, each containing a high-res smart object – say 1,5Gb per image – 45Tb of storage.
The solution? A bulk media cropping tool. Built using React for the frontend, DynamoDb for the data storage, Lambdas for the rendering, Cognito for the user admin, all tied together by AWS Amplify.
Static Cropping
Here’s a film of how long it takes to produce 21 variants of one image – 1 minute 37 seconds (about the time to open a large PSD!)
Video Cropping
Would be nice to have that for video cropping too eh? We gotcha…
Collaboration
One of the amazing features of using Amplify with GraphQL is the ability to subscribe to database events, which was perfect for this project. I added-in a collaboration feature which notifies users when another contributor updates an image set, saving anything being overwritten.
Templates
Say, you only wanted to update a couple of sizes, then the template management panel comes in handy. Deactivate, re-order, all the good stuff.