It would be great to see a cache layer in front of S3, in my experience fetching the original image from S3 will be slower than the actual resizing (regardless of the library used) and that happens at least once.
So ideally something like:
1. upload to s3
2. manipulate image to a friendly size (ie. 2048x2048)
3. write the image to an LRU cache (ie. memcached)
with steps 2 and 3 on a separate go-routine
Besides that, really cool project :)