A developer shares their experience migrating a small Go-based side project (GiftyWeddings.com) from Amazon S3 to Tigris, an S3-compatible storage service built on Fly.io infrastructure. The migration involved creating Tigris buckets via the fly CLI, updating the AWS SDK endpoint configuration, handling caching differences (Tigris adds Cache-Control: max-age=3600 by default), managing per-bucket credentials instead of shared keys, copying files using aws s3 sync, and updating stored S3 URLs in a SQLite database. Notable quirks include the fly CLI auto-deploying the app when creating a bucket in the app directory, and per-bucket credentials instead of shared keys. Performance improved significantly — image fetch times dropped from ~1s to ~300ms — and pricing is comparable to S3.