Notes from the Studio: the systems behind Clementine
Clementine turns a family's camera roll into the story of their child's life. This is a guest series from the team building it with deep dives into the systems behind the app, and what we learned along the way. Each article describes a different piece of the overall app, tracing the path a single photo takes from leaving a phone to landing in a finished moment.
Stage 1 · on the device
Stage 2 · on the server — pull the rich data out of each photo
Pulling the rich data out of every photo
A raw upload is just bytes — but it's packed with signal. Before it can ever land in a moment, the pipeline reads its time and place, fans out a small army of analysis jobs to extract everything the rest of the system needs, and scores whether it's even worth keeping.
Learn about it →Stage 3 · two systems pick those photos up, in parallel
Figuring out who's who across thousands of photos
A newborn looks nothing like the toddler they become, and siblings look alike to everyone. The birthday-anchored algorithm that still keeps each child's photos under one identity, built up piece by piece.
Learn about it →Building meaningful moments out of a family's photos
Once each photo has its rich data extracted, the storytelling begins. Seven kinds of moment — a first smile, a burst, the daily and weekly recaps, a trip, a recurring visitor — each its own little trigger → detect → curate pipeline.
Learn about it →