Main Tabs
🪄 Culler — Review & Score
🗂️ Albums — Event Organize
🗺️ Maps — Geospatial View
👤 Faces — Person Recognition
Tab Features
🔍
Full-text search — filename, camera, EXIF, date, location, status
📷
AI-scored grid — each tile shows score %, status badge, scene tag
👁️
Metadata sidebar — full EXIF, GPS, AI scores for selected photo
📄
Pagination OR Infinite scroll — toggle in sidebar
🆚
Compare Mode — side-by-side best-pick comparison
✂️
Cut / Copy / Paste — virtual clipboard between albums
🗑️
Delete from Disk — permanent removal with confirm
📂
Reveal in Explorer — jump to file location
🔄
Refresh EXIF / Location — re-read metadata + geocode
🏷️
User KEEP flag — protect photos from bulk cull
🤖
Organize By Events — AI clusters photos by date + location
💾
Save All to Disk — physically copy albums to target folder
✏️
Inline renaming — click album name to edit; autosaves instantly
📅
Date range badges — shows event start → end date
🔀
Drag & drop — move photos between albums
🔗
Merge albums — combine multiple events into one
🗂️
Sub-albums — nested groups for merged events
🔍
Album search — by name, date range, photo metadata
📃
Per-album pagination — Prev/Next + Select All (Page/Global)
☑️
Bulk select + delete — multi-album merge/delete
🌍
Leaflet.js map — embedded in WebView2 with OSM tiles
📍
Photo markers — each geotagged photo pinned by GPS coords
🗓️
Cluster pins — nearby photos auto-grouped; zoom to expand
🖼️
Thumbnail popup — shows photo, date, location, AI score
🔗
OPEN action — launch full-res in system viewer from popup
📂
REVEAL action — open file in Windows Explorer from popup
📅
Date album click — filter Culler to the clicked date group
🌙
Light / Dark tiles — follows App Theme setting
💾
Map state persistence — zoom & pan restored between sessions
⚡
Shared thumbnail cache — reuses Culler 350px cache (no extra decode)
🤖
AI face clustering — groups similar faces into identities
👥
Identity grid — avatar card per person with face count
✏️
Edit identity — set Name, Email, Phone number
🔍
Search — filter identities by name, email, or phone
🔀
Merge identities — combine duplicate-person clusters
🔄
Re-cluster — re-run AI grouping for one identity
🖼️
Face/Photo toggle — view face crops OR full source photos
💡
Auto-Suggest panel — AI suggests additional matches to merge
🖼️
Set Main Picture — choose best face crop as avatar
🔗
Open in Photo Grid — instantly filter Culler to that person
AI Engine
Photo Statuses
✅ Keep
👁️ Review
📷 Blurry
🎯 Poor Focus
😑 Closed Eyes
♊ Duplicate
≈ Similar
🌐 All Photos
📄 Document
⛰️ Mountains
🌊 Water
🌧️ Rain
💒 Wedding
🎓 Graduation
🎂 Birthday
🏖️ Beach Trip
🏔️ Mountain Outing
♊ Duplicates
♊ Dups, No Keep
📷 Blurry
🎞️ Too Grainy
🎯 Poor Focus
👁️ Red Eye
📍 With Location
❌ Without Location
📍 Has Coords
Sort Options
| 📅 Date, ascending | Oldest first |
| 📅 Date, descending | Newest first (default) |
| ⭐ Threshold, ascending | Worst quality first |
| ⭐ Threshold, descending | Best quality first |
| 📦 Size | Largest file first |
.jpg
.jpeg
.png
.bmp
.tiff
.tif
.webp
.heic
.heif
.cr2
.nef
.arw
.dng
EXIF Fields Read
Sidebar Configuration Cards
| Folder Path | Root folder to scan |
| Browse | Folder picker dialog |
| Scan | Run full AI analysis |
| Force Rescan | Ignore cache; re-analyze all |
| Use GPU | DirectML acceleration |
| Max Parallelism | Workers (default: 2× CPU) |
| Decode Semaphore | Limit concurrent decodes |
| Cache Results | Persist scan to disk |
| Use File Watcher | Auto-detect new files |
| Thumbnail Size | Cache decode size (px) |
| Face Detection | Enable/disable face recognition |
| Face Max Image Size | Resize limit for detection (1920px) |
| Face Match Threshold | Similarity for same-person (0.36) |
| Eye Detection | Detect eye-open / closed-eyes |
| Duplicate Detection | Perceptual hash exact match |
| Duplicate Threshold | Hash match strictness (0.99) |
| Similarity Detection | Near-duplicate grouping |
| Similarity Threshold | Near-duplicate cutoff (0.92) |
💡 Lower face threshold = stricter (fewer false merges). Higher duplicate threshold = more exact matches only.
| Culler Tile Size | Preset (S/M/L) or fine-grain px |
| Culler DPI Target | Thumbnail decode resolution (350px) |
| Culler Pagination | Toggle infinite scroll vs. pages |
| Album Tile Size | Preset (S/M/L) or fine-grain px |
| Album Page Size | Photos per album page (0=auto) |
| Map Popup Size | Popup thumbnail size (120px) |
| Map Thumbnail Count | Max thumbnails in popup |
| Map Tile Size % | Pin marker scale on map |
| App Theme | System / Light / Dark |
📊
Score Threshold slider — highlight photos below threshold
🗑️
Delete Below Threshold — bulk delete all low scorers
♊
Mark Duplicates — flag all duplicates for removal
✅
Keep User-Flagged — protect manually kept photos
🆚
Compare Mode — side-by-side pair comparison
📂
Show Bucket — view photos queued for deletion
🧹
Clear History — reset activity log
📁
Target Destination Folder — where albums write to disk
📂
Browse — folder picker for destination
🤖
Organize By Events — run AI clustering
💾
Save All Albums to Disk — physically copy all
🔗
Merge Selected — combine checked albums
🗑️
Delete Selected — remove checked albums
📄
Album Page Size — photos per page (0=auto)
🔵
Sign in with Microsoft — MSAL authentication
🔴
Sign in with Google — Google OAuth
🆔
Profile Name + Email — per-user settings isolation
💎
Trial Status — Active / Premium / Expired
📅
Premium Expiry Date — subscription end date
⚙️
Open settings.json — raw settings file editor
🖥️
Device Info — GPU/DirectML device name
🕒
Time Integrity — tamper-proof clock validation
Quick Reference
| Action | Description |
| ✂️ Cut Selected | Virtual cut to clipboard |
| 📋 Copy Selected | Virtual copy to clipboard |
| 📥 Paste | Paste clipboard into album/location |
| 🔗 Remove Reference | Remove from list (don't delete file) |
| 🔄 Refresh EXIF | Re-read metadata + geocode |
| 🗑️ Delete from Disk | Permanently delete file |
| 📂 Reveal in Explorer | Open folder in Windows Explorer |
| ☑️ Select All on Page | Select all visible photos |
| ❌ Deselect All | Clear all selections |
| 🔃 Refresh Page | Reload thumbnail page |
Faces — Identity Context Menu
| 🖼️ Open in Photo Grid | Filter Culler to this person |
| ➕ Add to Identity… | Assign face to existing identity |
| 🔗 Merge Selected Here | Merge checked identities here |
| 🔄 Re-cluster Identity | Re-run AI clustering |
| 🗑️ Delete Identity, Keep Photo | Remove record; keep file |
| 🗑️ Delete Photo + Identity | Remove both record and file |
| Action | Shortcut |
| Select photo / set active | Click |
| Open full-resolution image | Double-click |
| Open context menu | Right-click |
| Toggle selection checkbox | Click checkbox (hover to reveal) |
| Scroll photo grid | Mouse wheel |
| Zoom map in / out | Ctrl+Scroll or pinch |
| Drill into face identity | Double-click face card |
| Back from face detail | Back button in header |
| Expand / collapse album | Toggle button ▶ / ▼ on album card |
| Rename album | Click album name field |
| Merge albums via keyboard | Check ☑️ then click Merge Selected |
Faces Bulk Action Bar
✅ Select All
❌ Deselect All
🔗 Merge Selected
🗑️ Delete Selected
Faces — Toggle Pill
👤 Face Crops View
🖼️ Full Photo View
Optimal Usage Workflows
1
Browse to select your photo library folder
2
Enable Face Detection + Duplicate Detection
3
Enable GPU if available for faster AI inference
4
Leave Force Rescan OFF — use cache for fast re-loads
5
Click Scan — large libraries (10k+) take 10–30 min first run
6
Results persist — subsequent launches load instantly
1
Apply Duplicates filter → delete exact copies
2
Apply Blurry filter → bulk-delete low-sharpness shots
3
Sort by Threshold, ascending → review worst photos first
4
Use Score Threshold slider for fast batch decisions
5
Right-click → Delete from Disk for confirmed rejects
6
Enable Compare Mode for close calls between similar shots
1
Go to Albums tab → set Target Destination Folder
2
Click Organize Photos By Events — AI groups by date + location
3
Click album name → rename inline — autosaves instantly
4
Drag & drop photos between albums to reclassify
5
Check ☑️ similar events → Merge Selected
6
⚠️ Backup first! Then Save All Albums to Disk
1
Go to Faces tab → double-click an identity
2
Review confirmed faces — delete incorrect ones
3
Use Auto-Suggest panel → Merge All Suggested
4
Set Name, Email, Phone → click Save
5
Right-click → Open in Photo Grid to see all photos of this person
6
In Culler search: type "Person: [Name]" to filter by person
Pro Tips
💡
Search Power
🔍
Search "Canon" to find all Canon camera shots
🔍
Search "November" to find November photos by month name
🔍
Search "Person: Alice" to filter by a named person
🔍
Search "Mountain" to find scene-tagged landscape shots
🔍
Albums search by camera metadata too — not just album names
⚡
Performance
🖥️
Enable GPU for 5–10× faster AI inference
📦
Map and Culler share a 350px thumbnail cache — no duplicate decoding
♾️
Infinite scroll loads faster than pagination for review sessions
📄
Use pagination for exports and precise per-page selections
🔄
Use File Watcher to auto-detect new imported photos without re-scanning
📍
Location & Maps
📍
Use "Without Location with Coordinates" filter to find photos that need geocoding
🔄
Right-click → Refresh EXIF to trigger geocoding for selected photos
🌍
Map opens Google Maps link for any photo's GPS coordinates
🌙
Switch App Theme to Dark for better night-time map readability
📅
Click a map date cluster → opens that day's photos in Culler instantly
Activity Log Severity
✅ Success — Operation completed
ℹ️ Info — Status update
❌ Error — Operation failed