Lightning-fast, stateless photo culling for professional workflows.
SnapTraits is a modern, privacy-focused photography management tool designed for speed. Unlike traditional catalogs like Lightroom, SnapTraits is stateless, it works directly with your file system, requires no import process, and stores ratings in industry-standard XMP sidecars.
Perfect for culling 5,000 photos from a shoot before importing the keepers into your editor.
Culling 5,000 photos in Lightroom is slow because you have to import them first. SnapTraits solves this by skipping the database entirely. It reads directly from your disk, generates thumbnails instantly, and writes standard XMP sidecars.
You can cull a shoot in minutes, then only import your "5-star" keepers into your heavy-duty editor.
- Instant Culling: No import process. Open a folder and start rating immediately.
- Non-Destructive: Ratings are written to standard
.xmpsidecar files compatible with Lightroom, Capture One, and Darktable. - High Performance: Virtualized grid capable of rendering 1,000+ RAW thumbnails in seconds.
- Portable & Stateless: Run directly from a USB drive. No database to corrupt.
- Smart Deduplication: Automatically groups near-identical shots so you can quickly pick the best one from a burst.
Browse thousands of RAWs with zero lag.
Inspect EXIF data and rate with keyboard shortcuts.
Intelligent grouping of bursts and similar shots using perceptual hashing.
SnapTraits relies on industry-standard tools for maximum reliability:
- RAW Decoding: LibRaw /
dcrawbinaries for native RAW support. - Metadata: ExifTool for reliable XMP read/write operations.
- Image Processing: Sharp (libvips) for high-speed preview generation.
- Analysis: Perceptual hashing algorithms (
image-hash) for group detection.
For the full web development stack (React 19, TypeScript, Electron), see CONTRIBUTING.md.
Download the latest version from the Releases page.
- macOS: Universal
.dmgor portable.zip - Windows: Installer
.exeor portable.zip
-
Clone the repository
git clone https://github.com/yourusername/snap-traits.git cd snap-traits -
Install dependencies
npm install # or pnpm install -
Run locally
npm run dev
| Key | Action |
|---|---|
1-5 |
Set Rating (Stars) |
0 |
Clear Rating |
→ / ← |
Next / Previous Image |
Space |
Toggle Fullscreen / Preview |
G |
Grid View |
F |
Focus Mode |
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Built with ❤️ by André Santos
