As for S3, we work in Ruby and use RightAWS (http://rubygems.org/gems/right_aws). That would handle the transfer of files from your users to S3. If you're using another language I'd recommend checking online for an S3 library compatible with your language.