I do not have an image upload, but if I had to do one with crop and resize:
- I'd go client side (why should I use my expensive resources when there is lots of free power on consumer devices these days? A few images won't kill the battery either...)
- HTML5 Canvas. Crop and resize are very simple, duh
- Some filer or cloud solution. Just make sure to have AV in place
- Face detection is a little more tricky and I might consider looking for a library. The kind of functionality really depends on the use case. If it is a simple profile photo (your example) I would only give them crop and keep the image size at the max. dimensions I defined. Other features (like blur) might be easily implemented via a CV library, so no biggy at all
- Yes, go ahead! I think such an article might be interesting for lots of people :)