What it changed
- Published on the App Store: built end to end, from the back end to a polished mobile app.
- Photos and events ingested at scale, in real time, through GraphQL on AWS AppSync and WebSockets.
- Automatic face detection and labelling with Amazon Rekognition.
The situation
A founder wanted a social network built around events. Someone creates an event and draws a geofence around it. Guests who've been invited, and are actually inside the fence, take photos with the app, and the photos go straight into the event's shared album. No sharing links afterwards, no photos from people who weren't there.
It was a big project for a start-up's budget, and it had to feel as good as the social apps people already used.
What we built
The whole product, a complete mini social network:
- A React Native mobile app with an event feed, events, invitations and albums. A lot of the work went into the front end, to make the app beautiful and fast.
- Geofencing. The app knows when a guest is inside an event's fence, and only then sends their photos to its album.
- Faces labelled automatically. Each photo went through Amazon Rekognition, which detected the faces in it and labelled them. That was before automatic face tagging became something social networks backed away from, and it worked.
- A real-time back end on GraphQL with AWS AppSync, in its early days, with WebSocket subscriptions so albums and feeds updated live, and Amazon RDS for the data.
- Event-driven processing so a burst of photos at a big event was ingested, stored and analysed without slowing the app down.
How it ended
The app went end to end and was published on the App Store. Everything had to fit the client's budget, which meant choosing managed services that cost nothing when idle and scale when an event fills up.
It was also where I adopted GraphQL early, and learned what it costs: a schema to maintain as a second product. I've since gone back to plain web APIs, for reasons I explain in GraphQL and AppSync.
Why it matters to you
Mobile, real-time, computer vision and scale, in one product, on a small budget. The same building blocks, now with far better AI models behind them, are what most consumer apps need today.