Features Guide
A comprehensive look at every major feature in CullVue, from AI-powered search to metadata viewing and cross-platform support.
AI Semantic Search
CullVue's flagship feature lets you find photos by describing their content in plain language. Instead of relying on filenames or manually applied tags, you can type queries like "sunset at the beach", "cat on a couch", or "birthday party with cake" and get back the most relevant results from your entire library.
How It Works
Semantic search is powered by MobileCLIP-S2, a lightweight vision-language model that runs entirely on your device. During the initial indexing phase, the model generates a compact numerical representation (called an embedding) for each photo. These embeddings capture the visual content of the image, including objects, scenes, colors, and composition.
When you type a search query, CullVue converts your text into the same embedding space and finds the photos whose embeddings are most similar. Results are ranked by relevance and appear in the grid view.
All AI processing happens on your device. No photos are uploaded anywhere. Semantic search works completely offline after the one-time model download.
Getting Started with AI Search
- Click the brain icon in the search bar to switch to semantic mode
- Click the index icon that appears in the toolbar
- Click Download Model to download the AI model (~400MB, one-time download)
- Click Start Indexing to analyze your photos
- Once indexing completes, type a description (3+ characters) and results appear automatically
Indexing runs in the background at lower priority so the app stays responsive. Progress is shown in the status bar, including the current file being processed. You can use the app normally while indexing runs.
Search Tips
- Use descriptive phrases rather than single keywords for better results
- Combine scene descriptions with objects: "dog playing in snow" works better than just "dog"
- Press Enter for instant results, or wait briefly for auto-search to trigger
- Use the scope dropdown to search within the current folder or across all watched folders
Hardware Acceleration
On Apple Silicon Macs (M1 or newer), CullVue uses the Apple Neural Engine for hardware-accelerated inference, making both indexing and search significantly faster. On other platforms, the model runs on CPU. A dedicated GPU is not required but will speed up the initial embedding generation if available.
Smart Organization
CullVue gives you multiple ways to keep your library structured without ever moving files on disk. Combine watch folders, tags, albums, and smart albums to build the organization system that works for you.
Watch Folders
Watch folders are the foundation of your library. When you add a folder, Photo Organizer automatically indexes every image and video inside it and monitors the directory in real-time. New photos appear instantly, deleted photos are removed, and folder renames are reflected automatically.
Add folders by clicking + Add Folder in the toolbar. You can add as many folders as you like, including external drives and cloud-synced directories like Dropbox or iCloud Drive.
Tags
Tags let you label and categorize photos across folders. You can create custom tags with names of your choosing and apply them to any photo via the right-click context menu or the batch action bar.
| Action | How |
|---|---|
| Create a tag | Click the + next to "Tags" in the sidebar |
| Tag a photo | Right-click a photo and check/uncheck tags |
| View tagged photos | Click the tag name in the sidebar |
| Star a photo | Hover over a thumbnail and click the star icon |
| Delete a tag | Hover over the tag in the sidebar and click the x icon |
Tags are stored in the local database and are never written to your image files unless you explicitly choose to sync them to EXIF/XMP metadata. The built-in Star tag uses a star icon and cannot be deleted.
Albums
Albums are virtual collections. Adding a photo to an album does not move or copy the file on disk. A single photo can belong to multiple albums simultaneously.
| Action | How |
|---|---|
| Create an album | Click the + next to "Albums" in the sidebar |
| Add photos | Right-click a photo and select an album, or use batch actions |
| Rename an album | Hover over the album in the sidebar and click the pencil icon |
| Remove a photo | Right-click the photo inside the album and uncheck it |
| Delete an album | Hover over the album and click x. Your photos are not deleted. |
Smart Albums
Smart albums automatically populate based on rules you define. For example, you could create a smart album for "all photos from 2024 tagged with vacation." As new photos matching the criteria are added to your library, they appear in the smart album automatically without any manual effort.
Multi-Select & Batch Actions
Select multiple photos at once to tag or organize them in bulk. When multiple items are selected, a floating Batch Action Bar appears at the bottom of the screen.
| Action | Shortcut |
|---|---|
| Add to selection | Cmd+Click (Mac) / Ctrl+Click (Windows/Linux) |
| Select a range | Shift+Click |
| Select all | Cmd+A / Ctrl+A |
| Clear selection | Escape |
The batch action bar lets you apply tags, add to an album, or clear the selection across all selected items at once.
EXIF & Metadata Viewer
View detailed camera and image information for any photo in your library. The metadata panel slides in from the right side of the screen and updates automatically as you navigate between images using the preview arrows.
How to Open
Click the i button on a thumbnail's hover overlay, or press the i key while viewing a photo in the preview modal.
Available Metadata
The metadata panel displays the following information when available:
| Field | Details |
|---|---|
| File Info | Name, size, modification date, full file path |
| Dimensions | Image width and height in pixels |
| Camera | Make, model, and lens |
| Exposure | Aperture (f-stop), shutter speed, ISO, focal length |
| Date Taken | Original capture date and time from EXIF data |
| GPS | Location coordinates (latitude and longitude, if embedded) |
Supported Formats
EXIF metadata is extracted from all major image formats. RAW files from Canon (CR2, CR3), Nikon (NEF), Sony (ARW), Fujifilm (RAF), Olympus (ORF), Panasonic (RW2), Pentax (PEF), and Adobe DNG are all fully supported alongside standard formats like JPEG, PNG, TIFF, HEIC/HEIF, WebP, and AVIF.
Privacy & Local-First Architecture
CullVue is built from the ground up as a local-first application. Your photos, metadata, tags, albums, and AI embeddings are all stored on your device. The app does not require an internet connection to function, and no data is ever transmitted to external servers.
100% Local Processing
All photos stay on your device
Offline AI
Semantic search runs without internet
No Tracking
No analytics by default; crash reports are opt-in
Encrypted License
AES-256-GCM encryption, tied to your device
Network Requests
The only network request CullVue makes is an optional check for software updates, which you can disable in Settings. There are no cloud accounts, no sign-ups, and no cloud dependency of any kind.
Diagnostics (Opt-In)
If you choose to enable anonymous diagnostics in Settings, only minimal data is collected: operating system, CPU architecture, and app version. No personal data, photos, filenames, or library information is ever collected.
Cross-Platform Support
CullVue runs natively on macOS, Windows, and Linux. The same feature set is available across all platforms with a lightweight installer of approximately 30MB.
Supported Platforms
| Platform | Minimum Version | Installer Format |
|---|---|---|
| macOS (Apple Silicon) | macOS 12+ | .dmg |
| macOS (Intel) | macOS 12+ | .dmg |
| Windows | Windows 10+ | .exe installer |
| Linux | Ubuntu 22.04+ / Fedora 38+ | .AppImage or .deb |
Multi-Device Licensing
Your license allows installation on multiple devices you personally own. Since Photo Organizer is local-first, each installation maintains its own library database. If your photos are stored on a shared network drive or a synced folder (such as Dropbox or iCloud Drive), each device will independently index the same files.
Tags and albums are stored locally per device, but an import/export feature is available to transfer your organizational data between installations. You can view your active device count and deactivate devices from Settings.
Performance
CullVue is designed to handle large libraries without slowing down. The architecture is optimized for smooth scrolling, fast loading, and responsive interactions even with tens of thousands of photos.
Virtual Scrolling
The photo grid uses virtual scrolling, which means only the thumbnails currently visible on screen are rendered in the DOM. This allows CullVue to display 50,000+ items at 60 frames per second without any lag. The grid adjusts columns dynamically based on your window width.
Thumbnail Caching
CullVue automatically generates and caches thumbnails for all your photos and videos. Thumbnails are stored locally and regenerated automatically if the original file changes. Video thumbnails are extracted from a frame at 10% of the video duration.
Thumbnail generation runs in the background after you add a watch folder. Progress is shown in the status bar. You can continue using the app normally while it processes your library.
File Format Support
CullVue supports over 20 image and video formats, including RAW files from all major camera manufacturers.
| Category | Formats |
|---|---|
| Standard Images | JPEG, PNG, GIF, WebP, BMP, AVIF |
| Apple | HEIC, HEIF |
| RAW | CR2, CR3 (Canon), NEF (Nikon), ARW (Sony), DNG (Adobe), ORF (Olympus), RAF (Fujifilm), RW2 (Panasonic), PEF (Pentax) |
| Other Images | TIFF, TIF, SVG |
| Video | MP4, MOV, AVI, MKV, WebM, M4V, WMV, MTS, M2TS |
System Requirements
Minimum
- macOS 12+, Windows 10+, or Ubuntu 22.04+
- 4 GB RAM
- 500 MB disk space
- Any modern CPU (2018+)
Recommended
- Apple Silicon Mac (M1+)
- 8 GB RAM
- SSD storage
- 1 GB free disk space
The AI search model requires approximately 400MB of additional disk space on first download. A dedicated GPU is not required but will speed up the initial indexing.