look · cull · loop
Eighty thousand photos, and the good ones are buried. Loupe is a self-hosted workbench for going through them — frame by frame, month by month — and deciding what to keep. Nothing is deleted by accident. Your photos never leave your machine.
Personal photo culling
Eighty thousand photos pile up fast. Loupe lets you look at each one and keep only what matters — nothing deleted by accident.
look · cull · loop
why it exists
I sat down one weekend to claw back some storage and realized deleting the obvious junk wouldn't move the bill at all — the problem was never cost. Twenty-odd years and tens of thousands of photos had piled up with no calm way to go through them, and nothing made it feel safe to actually let go. So I stopped trying to save money and built the darkroom I wished I had.
the problem
Phones shoot in bursts. Cloud sync hoards. So the screenshots, the eleven near-identical sunsets, the accidental pocket shots — they all survive forever, right next to the photographs you actually love. Loupe is the opposite of a backup: a quiet, deliberate place to look · cull · loop
overview
The home view lays the entire library out by year and month. Each month is a little photobook spread — two facing pages, hinged at the spine — so you can scan a decade at a glance and feel where the stories are.
The progress band across the top is always honest: how many frames are reviewed, how many cut and kept, what's left, and how much disk you'd reclaim by acting on the cuts.
A library you can hold in your hand, not a folder you dread opening.
discovery
Across the top of the overview, a 35 mm film strip drifts by — a slow, looping reel of random frames pulled from across the years, sprocket holes and all. Portrait shots sit pillarboxed on the film base, exactly as they would on real stock.
It's not a task list. It's an invitation: hover to pause, and any frame that catches your eye drops you straight into it. Pause, look, fall back in.
the month photobook
Tap a month and it opens as a real spread — a hero frame or a mosaic, with a single right-hand page that turns left over the gutter. The selection is diversity-deduped: no two near-identical frames sit side by side, and it re-shuffles fresh on every visit, so the same month never looks the same twice.
Behind the scenes it's a perceptual-hash and timestamp guard picking the most distinct, in-focus frames from the pool — burst duplicates quietly stay out of the spread.
The best of a month, never the same six photos twice.


the week contact sheet
Drop into a month and its weeks lay out the way you'd lay strips on a light table — each day a single frame on a film-base sheet, sprockets top and bottom. The label rides the rebate beneath the frame, never across the picture, so nothing covers the photograph you're judging.
One frame per sheet is lit amber — the safelight. It's the day to start with: the one you've already half-culled, or the busiest if you haven't begun. A notch under each frame tracks how far you've gotten. Tap any frame and you're inside that day.
A week at a glance — one frame lit to tell you where to begin.






focus mode
Open a frame and the photo fills the room — brightest thing on the screen — with a quiet signal panel beside it. EXIF and capture details up top; then library-relative scores with percentile bars: an Apple aesthetic score, a sharpness read from a blur measurement, so you can tell a keeper from a near-miss at a glance.
Below that, content labels and the people in frame. Screenshots and documents are called out with their own tell. People who matter — family, the dogs — carry an amber ring, a standing reminder not to cull them by reflex.

culling & review
Three keys, that's the whole loop. Every decision is recorded, never enacted: a cut is just a mark. The stats bar's cut and kept counts are live links into full review grids, where keepers wear a green edge and cuts a dimmed red one.
Scan a whole decision at once, spot the one you got wrong, and flip it back. Protected frames are guarded — Loupe won't let a reflex cut take out someone who matters.
Reversible by design. The undo is the feature.
how it decides
On-device labels — screenshots, documents, burst extras — propose the obvious cuts. They only ever suggest; they never decide.
An aesthetic and sharpness score ranks within a pile so you review the weakest first. A low score is never an automatic cut — a quiet candid can score low.
Named people guard a frame from any bulk cut. Family, the dogs — Loupe never culls someone who matters by reflex.
the cutting room
Six rules read the whole library and set aside the frames most likely to go — the soft, the duplicated, the screenshots, the stray clips. Everything's grouped by why it was flagged, and each pile names the exact rule that caught it.
Every pile is honest about where its rule over-reaches — a “watch for” note that points straight at the keepers hiding in the cut, so the saves are easy to spot. Nothing is deleted until you export and your offsite backup is confirmed.
Lead with the truth: nothing here is gone, and nothing's even been cut.
Frames that came out soft — low sharpness across the whole frame, with a texture guard so deliberately minimal shots aren't swept in.






The also-rans of a burst — every frame except the sharpest in a run of three or more near-identical shots.






people
Loupe finds faces on your own machine and gathers them into people — each a round portrait you can open. Names arrive seeded from your Apple Photos tags, so the people you've already named are known from the first run.
Open someone and Loupe shows their known faces, then quietly proposes more — other frames ranked by how closely they match. Confirm to gather, reject to dismiss. The people who matter wear the same amber ring as in focus mode, so a reflex cut never takes them out.
Find a face, not a folder.





places · the map
Every geotagged frame, dropped onto a warm light table instead of a street map. Places are the base layer — glowing clusters that grow with how much you shot there; trips lay over the top as a dashed path between stops, and the towns you've lived in rest under soft amber home zones.






and two more ways through
The same library, entered from a different door — because how you remember a photo is rarely by its date.





Loupe stitches your travel into journeys — around a hundred of them — each a travel-wrapped contact sheet you sweep with a loupe. Cull a whole trip in one sitting, the way you'd lay prints out on a table.
A third axis beyond keep and cut: a private shelf. Anything you vault is hidden everywhere — overview, trips, places — and held out of any export or delete. Some frames aren't for culling. They're just yours.
the ethos
Culling should feel calm, not dangerous. Loupe is built on one promise: nothing leaves without your say-so, and anything can be taken back. Decisions are marks on a sheet — you do the deleting, later, deliberately, when you're sure.
A cut is a decision, not an action. The originals sit untouched until you choose to act, and every call is one tap from reversed. Live Photo motion files quietly follow their stills, so a pair is never half-culled.
Family and the dogs carry a standing guard. Loupe refuses to cull protected frames on reflex and rings them everywhere they appear, so the photos you'd most regret losing are the ones it's hardest to lose.
No dark patterns, no streaks, no nagging. Just an honest tally — reviewed, cut, kept, remaining, and the disk you'd reclaim — so you always know exactly where you stand and can stop whenever you like.
self-hosted & private
Loupe is one small program you run at home, pointed at your own library. No accounts, no uploads, no third party in the middle of your memories. The library is read-only to Loupe; only your decisions are ever written down.
Your photographs are never uploaded, indexed by anyone else, or shown to a model in the cloud. The app sits behind your own access; the originals never move.
Loupe reads your photos and metadata and writes only to its own decisions file. Your originals, your folder structure, and your backups stay exactly as they were.
Loupe was built for one person's library and offered to anyone who wants the same calm way through theirs. Self-host it; it's yours to run.
early access
Loupe is a personal project, in private testing right now. Leave your email and I'll send the self-hosting guide the moment it's ready.
No account, no spam — just the self-hosting guide when it's ready.