Ben Rosen

Ben Rosen


Talk Details

Title

Swift Lambdas at Scale: How a Tiny iOS Team Built a Big Backend

Description

SongShift started out as an iOS app where everything was done client side. As we grew, we wanted to move things to the server and needed a backend that could scale and function well without a dedicated backend team. We didn't have a backend team, we didn't want to manage servers, and we didn't want to switch to a completely different language just to make it work. This talk is meant to be a success story of how we were able to do exactly this with Swift.

I will discuss how we built a production backend using Swift on AWS Lambda. I'll walk through how we integrated with services like API Gateway, DynamoDB, SQS, Step Functions, and KMS. I'll share how we kept it affordable, made it scale smoothly, and figured out successful CI/CD build strategies.

We use MANY open source tools like Soto, the Swift AWS Lambda Runtime, and Terraform to keep things flexible and organized. Swift Concurrency helped us write clean, async-safe code that felt familiar coming from iOS. Since we were able to share SPM packages between the app and the backend, we could move faster and stay consistent across the stack. Serverless ended up being a fantastic fit for SongShift.

If anyone is on edge about getting their feet wet with server-side Swift, I think I can make a great case for what server-side Swift can actually do in production and how easy it can be to adopt and get started.


About the Speaker

Position

Founder at SongShift

Bio

I am 22 years old, from Chicago, IL. and have been programming since I was 11 years old. My app, SongShift, has been on the App Store since 2016 and I have watched and contributed to growing it from a small app to one that is widely used and loved. During college I did 2 internships at Apple but decided to work on SongShift full time. This is entirely built with server-side Swift. I want people to know about me because I want to continue to spread the word that what I do is powered by these cool server-side Swift technologies. I want to know that I am someone people can contact and I want to be a friendly face for them.