Building a large-scale local photo manager in Rust (filesystem indexing + SQLite + Tauri)
Hi all,
I’ve been building an open-source desktop photo manager in Rust, mainly as an experiment in filesystem indexing, thumbnail pipelines, and large-library performance.
Tech stack:
- Rust (core logic)
- Tauri (desktop runtime)
- SQLite (metadata index via rusqlite)
- Vue 3 frontend (separate UI layer)
The core problem I’m trying to solve:
Managing 100k–500k local photos across multiple external drives without cloud sync, while keeping indexing and browsing responsive.
Current challenges I’m exploring:
- Balancing parallelism vs disk IO contention
- Improving large-folder traversal speed on slow external drives
- Memory usage under heavy thumbnail generation
- Whether async brings real benefit here vs controlled thread pools
Repo (if you’re curious about the implementation details):
https://github.com/julyx10/lap
I’d really appreciate feedback on architecture, concurrency patterns, or SQLite usage from a Rust perspective.
Thanks!