mirror of
https://github.com/julyx10/lap.git
synced 2026-10-02 10:05:16 +08:00
3.6 KiB
3.6 KiB
Lap was created by a photography enthusiast who couldn't find a truly satisfying photo manager on MacBook. It is designed for two daily needs: organizing family albums and browsing/searching massive local photo libraries.
Website: https://julyx10.github.io/lap/
Core Highlights
- Large-scale photo organization: Built for family albums and photographer archives, with classification and search by date, location, camera, and face recognition across 10k+ photos.
- Multi-Library workflow: Separate work and family libraries with clean boundaries and quick switching.
- Local AI search: Natural-language search, similar-image discovery, and face clustering run on-device for fast results.
- Local folder management and sync: No import required. Use your real folders directly; changes in Finder are reflected in Lap, and file moves in Lap stay synced on disk.
- 100% offline privacy: No cloud upload, no remote processing, no vendor lock-in.
Download
| Platform | Download | Notes |
|---|---|---|
| macOS (Apple Silicon) | Download .dmg (aarch64) | Notarized by Apple, fully tested |
| macOS (Intel) | Download .dmg (x64) | Notarized by Apple |
| Linux (Ubuntu/Debian) | Download .deb (amd64) | Community testing welcome |
| Windows | - | Coming soon |
Product Snapshot
Notes: Screenshot sample images come from Wikimedia Commons.
Comparison
| Feature | Cloud Albums (Google/iCloud) | Classic Viewers | Lap |
|---|---|---|---|
| Privacy | ❌ | ✅ | ✅ |
| AI Search | ✅ | ❌ | ✅ |
| Folder-native file control | ❌ | ✅ | ✅ |
| Offline-first | ❌ | ✅ | ✅ |
| Vendor lock-in | High | None | None |
Supported Formats
| Type | Formats |
|---|---|
| Images | JPG, PNG, GIF, BMP, TIFF, WebP, HEIC |
| Videos | MP4, MOV, MKV, WebM, AVI |
Development
Tech stack:
- Core: Tauri 2 + Rust
- Frontend: Vue 3 + Vite
- Data: SQLite
- AI/media: CLIP, InsightFace, FFmpeg
Quick start:
# Download AI models
./scripts/download_models.sh
# Install frontend deps
cd src-vite && pnpm install && cd ..
# Run dev app
cargo tauri dev
Requirements:
- Node.js 20+, pnpm 8+
- Rust stable
- macOS:
xcode-select --install,brew install nasm pkg-config - Linux:
sudo apt install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf nasm clang pkg-config
License
GPL-3.0-or-later. See LICENSE.

