Local-first
Originals stay in your configured gallery root. Indexed metadata lives in SQLite and derivatives stay on disk next to the app's local storage paths.
Browse folders you already own through a fast feed-style interface backed by SQLite, generated thumbnails and previews, and a local-only runtime.
The current repository includes Home, Explore, Library, Likes, Moments, Settings, folder pages, a post detail view and modal flow, local likes, delete actions, optional shared-password protection, manual scans, full library rebuilds, and thumbnail-only rebuilds.
Foldergram recursively discovers non-hidden folders under GALLERY_ROOT. Any folder that directly contains supported media becomes an indexed album. Files placed directly in the gallery root are ignored.
Images: .jpg, .jpeg, .png, .webp, .gif. Videos: .mp4, .mov, .m4v, .webm, .mkv.
Originals remain in the gallery root. SQLite stores indexed metadata. Thumbnails are generated under thumbnails/ and previews under previews/.
Walk the gallery tree, skip hidden paths, and ignore managed storage paths that would otherwise re-enter the scan.
Store normalized paths, media metadata, timestamps, stable sort order, and playback strategy in SQLite.
Create `640px` thumbnails and up to `1500px` previews, with direct-original playback for already compatible MP4 files.
Feed, folders, likes, moments, and explore read from SQLite and derivative URLs instead of scanning the filesystem on request.
The home rail can surface date-based Moments when the library has enough EXIF-backed timestamps, or fall back to Highlights when capture-date coverage is sparse.
Settings includes optional shared-password protection plus manual scan, thumbnail rebuild, and full library rebuild actions so you can protect access and refresh the index without touching the source files by hand.