familyTVDisplay & Remote
FeaturesHow it worksDevicesPricing

How to organise a family photo library that outlives every app

Folders by year and month, filenames that sort anywhere, and metadata stored inside the file using standards every serious tool already reads.

The folder layout

Use time, and only time, for folders. A photo can sit in just one folder, but it can carry many tags. So the folder answers "when", and metadata answers "who", "where" and "what".

Photos/
  2026/
    2026-11/
      2026-11-04_Family-weekend-Ardennes/    (optional event folder)
        20261104_143012_IMG_0412.heic
        20261104_143012_IMG_0412.heic.xmp    (only if the format can't embed)
  _Inbox/            (unsorted imports)
  _Unknown-date/     (no usable date)
  • Year / Year-Month. Months keep folders at roughly 100-500 files, which every file browser, NAS and TV handles well.
  • Event folders only for real events (trip, wedding). Never nest by person or place.
  • Filename: YYYYMMDD_HHMMSS_original-name.ext. It sorts chronologically on every OS and keeps the camera's name for traceability.
  • Portable names: no : / \ ? * ", no names that differ only by case, NFC-normalised accents, paths under 255 characters, - instead of spaces.
  • Never edit originals. Duplicates are found by content hash (SHA-256), not by filename.

Metadata: the standards already exist

Three layers work together. EXIF holds camera facts (time, GPS). XMP is the extensible container that can live inside the file or beside it. IPTC Photo Metadata defines the descriptive fields, stored as XMP. The Metadata Working Group guidelines make apps agree on where each value goes, so Lightroom, digiKam, Synology, Immich and PhotoPrism round-trip them.

NeedField
Capture dateEXIF:DateTimeOriginal + OffsetTimeOriginal (store the timezone)
GPSEXIF:GPSLatitude / GPSLongitude
Place namesIptc4xmpExt:LocationShown (sublocation, city, region, country)
Descriptiondc:description (and IPTC:Caption-Abstract)
Title, keywordsdc:title, dc:subject
People shownIptc4xmpExt:PersonInImage
People with face positionMWG Regions: mwg-rs:RegionList
Favourite / ratingxmp:Rating (-1 rejected, 0-5)

ExifTool is the cross-platform tool that reads and writes all of the above, in bulk.

Embedded or sidecar?

Embedded in the fileSidecar photo.jpg.xmp
Travels with the photoAlwaysOnly if you move both files
Original stays untouchedNo, the file is rewrittenYes
Needs write access to photosYesOnly to the folder
Works for RAW and videoMostly noYes
Read-only archive or cloud accessNot possiblePossible

Neither is wrong. Embedding is the most durable, sidecars are the safest. familyTV works with sidecars.

Name sidecars with the full filename plus .xmp (IMG_1.jpg.xmp). Then a RAW+JPEG pair never shares one sidecar by accident, and it is what familyTV already does.

Pitfalls worth knowing

  • Apple Photos and Google Photos keep face names in their own database and do not write them back to your files.
  • Always store the UTC offset with the time. Phones that travel otherwise sort photos in the wrong order.
  • Keep a rebuildable search index (SQLite or similar). Files stay the source of truth.

Next: 10 tips to organise your family photos.

familyTVBring joy sharing fun experiences

Privacy PolicySupportTerms of Use (EULA)Plans and pricingInstructionsDevicesContact
Display & RemotePlannerMusicGeocachingSki Route

© 2026 Niels van Golden. All rights reserved.

familyTV is part of family.fun

Disclaimer

familyTV is an independent product and is not affiliated with, endorsed by or sponsored by the companies below. Their names are used only to describe compatibility.

Apple TV, iPhone, iPhone Duo, iPad, iOS, tvOS, App Store, Family Sharing, Siri, Shortcuts, AirPlay, HomePod, HomeView
Owner: Apple Inc.
Google, Google Drive, Google Play, Google TV, Google Home, Google Cast, Chromecast, Nest Hub, Android, Android TV, Pixel
Owner: Google LLC
Microsoft, OneDrive
Owner: Microsoft Corporation
OpenAI
Owner: OpenAI, Inc.
Lightroom
Owner: Adobe Inc.
Synology
Owner: Synology Inc.
PhotoPrism
Owner: PhotoPrism UG
Samsung, Galaxy, Galaxy Z Flip, Galaxy Z Fold
Owner: Samsung Electronics Co., Ltd.

All other product and company names are trademarks or registered trademarks of their respective owners.

Credits

familyTV is built with the following open-source software and services.

Kotlin Multiplatform, kotlinx.coroutines, kotlinx.datetime, kotlinx.serialization
Licence: Apache 2.0 · JetBrains s.r.o.
Ktor
Licence: Apache 2.0 · JetBrains s.r.o.
React, React DOM
Licence: MIT · Meta Platforms, Inc.
Slidev, Vue
Licence: MIT · Anthony Fu, Evan You
Nunito Sans, Fira Code
Licence: SIL Open Font License 1.1

The photos in the app, on this website and in the store screenshots (a toddler on a swing, a birthday selfie, a mountain hike, a forest at dawn and a rose with dewdrops) are AI-generated images. They show no real people, places or events. Generated using AI, in line with the transparency rules of the EU AI Act (Article 50). The files carry an AI-generated marker in their metadata.

Photo descriptions in the app are generated by an AI service (OpenAI). AI-generated text can contain mistakes.

Credits for the demo video and the Panomax test webcam follow (to be confirmed).