You shouldn't use AWS S3 for image-heavy projects because it gets expensive quickly, especially with bandwidth costs when you're serving a lot of images..
You should use dedicated storage servers from providers like Hetzner or OVH. They're much more cost-effective for startups - you get several TB of storage for a fraction of AWS costs, and most importantly, bandwidth is either unmetered or very generous..
For scalability, you can use:
- CDN (Cloudflare) to cache images globally and reduce load on origin servers
- Multiple storage servers that you can add as traffic grows
- Efficient image delivery with proper compression and formats
This setup works great - handling tens of thousands of active users without breaking the bank.
AWS is powerful but overkill for most projects until you're at massive scale.