Skip to main content

Software · Self-hosted

photoArchive

Your own photo cloud — with Lightroom Classic instincts.

Where Lightroom chugs, photoArchive flies: browse terabytes of photos at lightning speed with tiered, tunable caching — hosted on your own computer, NAS, or server. Google Photos convenience, Lightroom Classic control, and your files never leave your network.

photoArchive library showing a landscape collection with folder tree, Elo ranking panel and filters

47,000+

Photos in the author's daily-driver archive

100%

Local — nothing leaves your network

3

Search engines fused per query

1

Consumer GPU runs all of it

From Google Photos

The instant timeline, semantic search, face grouping, shareable links, and a phone app that installs like the real thing.

From Lightroom Classic

The folder tree, pick/reject culling, stacks, keyboard-first loupe with lights-out, and filters that compose the way a working photographer thinks.

From neither

Elo photo ranking. Quick this-or-that picks teach the archive which photos are your best — no star-rating agony, just two-second decisions that compound.

photoArchive library grid showing a curated landscape collection with folder tree and Elo histogram

The Library

Fifty thousand photos, zero lag

Terabytes of photos on a sleepy external drive, browsed at lightning speed: a tiered preview cache with tunable budgets pre-generates in the background, an in-memory hot cache serves from RAM, and a virtualized grid keeps scrolling silk-smooth at any depth. A real folder tree, composable filters, and a timeline scrubber complete it. It feels like Lightroom Classic without the chug — because that was the bar.

Refine mosaic view presenting nine landscape photos for a ranking pick

Ranking, not rating

Your archive learns which photos are your best

Forget agonizing over star ratings. Refine shows you a mosaic — you pick the best one. Behind every two-second decision is an Elo engine with uncertainty tracking that propagates results through visually similar photos. A quality meter tells you exactly how sorted any folder, shoot, or search is.

Loupe view with live metadata, Elo ranking and histogram panels beside a Zion canyon photograph

Search that understands

“Night sky over trees” just works

Every photo is indexed three ways on your own GPU: metadata full-text, semantic vision embeddings, and rich VLM-written captions. Queries fuse all three engines with reciprocal-rank fusion, and the omnibox streams live photo results, facet completions, and natural dates as you type. No cloud API. No subscription. Measured by a built-in eval harness.

Lights-out loupe mode showing a single photograph on black with a filmstrip below

Stacks & safe trash

Bursts, variants, and duplicates fold away

Three automatic builders detect burst sequences, export variants of the same edit, and cross-source duplicates — like the compressed Facebook copy of your original — and stack them behind a single cover, Lightroom-style. Resolving a stack moves losers to a fully restorable on-drive trash. Nothing is ever deleted until you say so.

Client galleries that beat a Google Photos link

Share any collection as a password-protected gallery with view analytics and client proofing — their favorites flow back into your archive as picks. Public links serve previews only; originals never leave the machine.

An installable phone app

A real PWA: fast timeline, pinch density, pull-to-refresh, haptics, one-handed action bars, and an Android Back button that behaves natively. Pair it with Tailscale and your archive is in your pocket on your own private network.

People, privately

Local face detection clusters faces into people entirely on your hardware. Name them, merge them, filter any view by who is in the frame. Face data never leaves your network.

Originals are sacred

The app indexes your folders and builds its own caches — it never edits, moves, or deletes a source file. Offline drives degrade gracefully: cached views keep working until the drive returns.

One GPU runs everything

Thumbnail generation, semantic embeddings, face scanning, and VLM captioning share a single consumer GPU through sequential coordination. The live archive runs on an RTX 2060 Super.

Boring, dependable engineering

FastAPI + SQLite, browser-native ES modules with no build step, additive-only migrations, and a contract-tested API surface with 380+ tests. Built to still work in ten years.

Open source

Own your archive again.

photoArchive is built in the open and runs on hardware you already have. Point it at a folder of photos and it takes care of the rest.