Your photos stay private. Your data stays with you. No lock-in, no cloud dependency, no company needs to survive for your stories to last. Here's how we built it.
Everything lives in the image file itself. The basics — title, description, keywords, dates, face regions — use the same industry-standard tags (IPTC, Dublin Core, MWG) that Lightroom, digiKam, and Apple Photos already read. PhotoSpeak's richer layers — voice threads, transcriptions, and AI analysis — sit right alongside them in an open, documented PhotoSpeak namespace. It's all plain XMP: no database, no encryption, nothing hidden.
Nothing loose to get separated or forgotten. Everything travels with the photo. Copy it, share it, back it up — the story comes with it.
It's all open, documented XMP — no proprietary vault, nothing locked away. Delete PhotoSpeak tomorrow and every story stays inside your photos. The standard fields open in any photo app; the voice threads and AI layers are right there too, in a published format anyone can build on.
PhotoSpeak is designed around one principle: your photos, your data, your choice. How much stays local and how much reaches the cloud is up to you.
The complete pipeline runs on your machine — face detection, object recognition, depth estimation, species ID, speech-to-text. Fully offline capable with Ollama and open-source models. Optionally connect to cloud LLMs (Claude, OpenAI) for higher-quality extraction — your choice.
Face detection, object recognition, and even voice transcription run right on your phone — on a capable device, nothing has to leave it. The final story-writing still uses a cloud model for now, because phone chips haven't caught a desktop yet — but that gap closes every year. Prefer to stay fully on-device? Turn the cloud off entirely.
Cloud is always optional. Want to back up your library and sync it across your devices? PhotoSpeak gives you your own isolated space — your own database, your own storage, never mixed with anyone else's. Your photos already carry everything inside them, so the cloud is a convenience and a safety net, not a cage. Pull it all back out anytime.
PhotoSpeak runs entirely on your own machine. The whole pipeline works fully offline, and nothing leaves your device unless you ask it to.
When you choose to share a photo or sync between your devices, the cloud steps in: everyone you've given access to automatically gets the latest version. Sister adds a voice thread? It appears on your device. You update a description? It appears on hers. Offline edits queue up and merge when you reconnect — no data loss, no manual steps.
Anything that does reach the cloud travels encrypted (HTTPS everywhere) into your own isolated space, walled off from every other user. Using any cloud service is by nature less private than staying fully offline — so we keep it optional, isolated, and encrypted, and your memories never depend on it. Backup and cross-device sync is a service you can switch on; the photos themselves never need us to survive.
PhotoSpeak builds a persistent memory of the people, places, animals, events, and organisations in your world — a knowledge graph that grows every time you use it. You can build it through the Knowledge page, or it learns as you annotate.
PhotoSpeak resolves nicknames, maiden names, and informal references automatically. Say "Nan" and it knows you mean Margaret Elizabeth Walsh. Say "the old house" and it maps to 42 George Street.
Tracks relationships between entities: spouse, parent, child, sibling, friend, employer, attendee, alias. When you name a person, related context enriches the metadata.
Knowledge builds across your entire collection. Name a face once and the identity propagates. Mention a place once and it's linked everywhere it appears.
PhotoSpeak doesn't just listen — it interviews you. It asks follow-up questions based on what it sees and what it already knows about your family, drawing out details you'd never have thought to mention. The more you use it, the more it knows — and the richer every photo becomes.
When you open a folder, the pipeline runs automatically in the background. Each step is independent — if one fails, everything else keeps working. Models are modular and can be swapped for alternatives. New steps are added regularly.
| Step | What It Does |
|---|---|
| Inventory | Catalogs images, extracts EXIF data, builds working set |
| Normalise | Orientation correction, consistent sizing |
| Perceptual Hash | Fingerprints images for duplicate and near-duplicate detection |
| Face Detection | Finds faces in images using neural network detection |
| Face Embedding | Generates identity embeddings for face matching across photos |
| Face Clustering | Groups faces across images into distinct identities |
| Face from Person | Extracts face crops from full-body person detections |
| Object Detection | Identifies objects in images (80+ categories) |
| Image Captioning & OCR | Generates descriptions, dense captions, and reads text in images |
| Species Identification | Identifies animal and plant species |
| Text Recognition | Dedicated text recognition on detected text regions |
| Semantic Embeddings | Generates embeddings for visual search and similarity matching |
| Depth Estimation | Estimates depth from a single image for spatial understanding |
| Colour Analysis | Extracts colour palette and dominant colour information |
| B&W Detection | Detects black-and-white images and estimates original era |
| Era Detection | Estimates when a photo was originally taken from visual cues |
| Environment | Classifies indoor/outdoor, scene type, and lighting conditions |
| Pose & Activity | Estimates human poses and what people are doing |
| Scene Understanding | High-level scene analysis and context extraction |
| Geocoding | Converts GPS coordinates to place names and addresses |
| Weather Lookup | Retrieves historical weather conditions for the date and location |
| Collection | Groups related images into logical collections |
| Face Animation | Generates animation data for living portrait effects |
| ...and growing. New analysis steps are added as models improve. | |
Fields appear progressively as they're generated. Watch title, description, keywords, and people fill in live.
Semantic embeddings find visually similar photos in your collection. Discover connections and duplicates you didn't know existed.
Edit the extraction prompts to customise how PhotoSpeak interprets your photos. Changes take effect immediately — no restart needed.
JPEG, PNG, TIFF, WebP, and HEIC. Your photos keep their original format, and every story and layer is written straight into the file itself — full XMP read and write, whatever you shoot in.
Fetches historical weather, elevation, sunrise/sunset, and nearby points of interest from GPS coordinates and date.
Balance speed and depth to taste, switch any individual step on or off, and everything adapts to your hardware.
Open standards. Local processing. Your data, your photos, your stories.
Every PhotoSpeak image carries a signed provenance chain — a tamper-evident record of who added what, and when, written right into the file. Add a voice thread and it's signed too: who spoke, when, verified. If anything changes outside PhotoSpeak, the image knows — it shows you exactly what, and rolls it back.
It's built on C2PA (the Coalition for Content Provenance and Authenticity) — the open standard backed by Adobe, Microsoft, and the BBC — so the proof isn't ours to vouch for; it's something anyone can verify.
Today, that feels like overkill. Your family knows who Mum is. But in 50 years, your grandchildren will open this photo, hear a voice, and know — provably, beyond any doubt — that it's really their great-grandmother speaking.
✓ Verified Voice Thread
Margaret Wilson · Recorded 25 Dec 2025 · Certified by C2PA