Inspiration
We all spend too much time on our phones, but Apple's Screen Time interface is mostly a collection of charts and numbers. It tells you how long you've been using your phone, but it doesn't do much to make that information interesting or memorable.
I wanted to build something more playful: a slightly judgemental, Spotify Wrapped-style look back at how you've actually spent your time on your phone.
What it does
ST Replay turns your Screen Time data into a personalised recap of your phone usage. Instead of just showing raw statistics, it picks out interesting patterns and presents them as a fun, visual story that you can look through and share.
Privacy was important from the start, so the experience is built around processing Screen Time data on the device rather than sending your usage history to a server.
How I built it
ST Replay is a native iOS app built using Swift and SwiftUI, using Apple's Screen Time APIs to access and analyse device activity.
The app takes the available usage data, derives statistics and insights from it, and then presents these through a custom replay interface designed to feel much more expressive than the standard Screen Time UI.
Challenges
One of the biggest challenges was working within the constraints of Apple's Screen Time APIs. The data and access Apple exposes is deliberately restricted for privacy, so building richer insights meant figuring out what could reliably be derived from the information available.
The other challenge was presentation. Usage statistics are inherently quite dry, so a lot of the work went into deciding which statistics were actually interesting and how to turn them into something playful, concise and occasionally judgemental without making the app feel like another productivity lecture.
What I learned
The project gave me much more experience working with Apple's Screen Time frameworks and their privacy model, as well as building a data-driven SwiftUI interface.
More importantly, it reinforced how much presentation matters: the underlying data can be relatively simple, but framing it in the right way can make the same information considerably more engaging.
Log in or sign up for Devpost to join the conversation.