julyx10/lapPublic

An offline-first photo manager for large local libraries

AI summary: An open-source, privacy-first local photo manager for macOS, Windows, and Linux desktops.

Stars
3.6K
+107 today
Forks
211
Watchers
25
Open issues
39
Open PRs
0
Contributors
~9
Commits
1.2K
Branches
11

VueGPL-3.0Created Aug 11, 2024Last push 2d agoLatest release v0.3.2+642 stars this week+750 this month

Quick answers

What is lap?
An open-source, privacy-first local photo manager for macOS, Windows, and Linux desktops.
What does lap do?
Lap is a cross-platform desktop application designed for organizing and viewing large local photo collections without relying on cloud services. It focuses on privacy and performance, ensuring that media metadata and indexing occur entirely on the user's machine. The application provides a clean, modern interface for browsing directories, filtering by dates, and viewing images. It serves as a lightweight alternative to bloated proprietary photo software, prioritizing speed and local control over data.
Who is lap for?
Privacy-conscious users, photographers, and anyone looking for a simple, fast local photo viewer. No technical skills required.
How popular is lap on GitHub?
julyx10/lap has 3,600 stars and 211 forks on GitHub, and gained 642 stars in the last 7 days.
What license does lap use?
julyx10/lap is released under the GPL-3.0 license.

Star history

since Sep 24, 2026
01K2K3KSep 2026Sep 2026Sep 2026Oct 2026
3.6K stars as of Oct 2, 2026. Measured daily since Sep 24, 2026; GitHub no longer exposes earlier star timestamps.

Contribution activity

commits per day, last 52 weeks
SepOctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-09-28: 1 commit2025-09-29: 1 commit2025-09-30: 2 commits2025-10-01: 1 commit2025-10-02: 4 commits2025-10-03: 3 commits2025-10-04: 7 commits2025-10-05: 3 commits2025-10-06: 1 commit2025-10-07: 5 commits2025-10-08: 1 commit2025-10-09: 2 commits2025-10-10: 2 commits2025-10-11: 1 commit2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 1 commit2025-10-15: 2 commits2025-10-16: 2 commits2025-10-17: 1 commit2025-10-18: 2 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 3 commits2025-10-26: 3 commits2025-10-27: 2 commits2025-10-28: 1 commit2025-10-29: 3 commits2025-10-30: 0 commits2025-10-31: 2 commits2025-11-01: 2 commits2025-11-02: 1 commit2025-11-03: 1 commit2025-11-04: 2 commits2025-11-05: 1 commit2025-11-06: 2 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 3 commits2025-11-10: 1 commit2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 4 commits2025-11-14: 1 commit2025-11-15: 2 commits2025-11-16: 3 commits2025-11-17: 1 commit2025-11-18: 2 commits2025-11-19: 2 commits2025-11-20: 2 commits2025-11-21: 0 commits2025-11-22: 1 commit2025-11-23: 1 commit2025-11-24: 3 commits2025-11-25: 0 commits2025-11-26: 1 commit2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 3 commits2025-11-30: 2 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 1 commit2025-12-04: 0 commits2025-12-05: 1 commit2025-12-06: 0 commits2025-12-07: 1 commit2025-12-08: 1 commit2025-12-09: 0 commits2025-12-10: 2 commits2025-12-11: 2 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 1 commit2025-12-15: 0 commits2025-12-16: 1 commit2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 2 commits2025-12-20: 0 commits2025-12-21: 1 commit2025-12-22: 1 commit2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 1 commit2025-12-26: 1 commit2025-12-27: 1 commit2025-12-28: 1 commit2025-12-29: 1 commit2025-12-30: 1 commit2025-12-31: 2 commits2026-01-01: 2 commits2026-01-02: 1 commit2026-01-03: 2 commits2026-01-04: 1 commit2026-01-05: 0 commits2026-01-06: 1 commit2026-01-07: 1 commit2026-01-08: 1 commit2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 1 commit2026-01-12: 0 commits2026-01-13: 2 commits2026-01-14: 1 commit2026-01-15: 1 commit2026-01-16: 2 commits2026-01-17: 3 commits2026-01-18: 1 commit2026-01-19: 0 commits2026-01-20: 2 commits2026-01-21: 1 commit2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 3 commits2026-01-25: 3 commits2026-01-26: 2 commits2026-01-27: 1 commit2026-01-28: 2 commits2026-01-29: 1 commit2026-01-30: 2 commits2026-01-31: 0 commits2026-02-01: 1 commit2026-02-02: 1 commit2026-02-03: 6 commits2026-02-04: 2 commits2026-02-05: 1 commit2026-02-06: 7 commits2026-02-07: 2 commits2026-02-08: 4 commits2026-02-09: 1 commit2026-02-10: 2 commits2026-02-11: 2 commits2026-02-12: 2 commits2026-02-13: 8 commits2026-02-14: 1 commit2026-02-15: 2 commits2026-02-16: 5 commits2026-02-17: 3 commits2026-02-18: 1 commit2026-02-19: 1 commit2026-02-20: 0 commits2026-02-21: 5 commits2026-02-22: 2 commits2026-02-23: 1 commit2026-02-24: 15 commits2026-02-25: 6 commits2026-02-26: 2 commits2026-02-27: 1 commit2026-02-28: 6 commits2026-03-01: 7 commits2026-03-02: 2 commits2026-03-03: 1 commit2026-03-04: 3 commits2026-03-05: 2 commits2026-03-06: 0 commits2026-03-07: 5 commits2026-03-08: 4 commits2026-03-09: 2 commits2026-03-10: 0 commits2026-03-11: 2 commits2026-03-12: 2 commits2026-03-13: 5 commits2026-03-14: 3 commits2026-03-15: 6 commits2026-03-16: 3 commits2026-03-17: 6 commits2026-03-18: 3 commits2026-03-19: 2 commits2026-03-20: 2 commits2026-03-21: 3 commits2026-03-22: 5 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 6 commits2026-03-26: 5 commits2026-03-27: 6 commits2026-03-28: 5 commits2026-03-29: 6 commits2026-03-30: 9 commits2026-03-31: 4 commits2026-04-01: 1 commit2026-04-02: 4 commits2026-04-03: 4 commits2026-04-04: 5 commits2026-04-05: 0 commits2026-04-06: 8 commits2026-04-07: 3 commits2026-04-08: 4 commits2026-04-09: 3 commits2026-04-10: 3 commits2026-04-11: 1 commit2026-04-12: 0 commits2026-04-13: 5 commits2026-04-14: 4 commits2026-04-15: 3 commits2026-04-16: 6 commits2026-04-17: 6 commits2026-04-18: 5 commits2026-04-19: 7 commits2026-04-20: 5 commits2026-04-21: 0 commits2026-04-22: 9 commits2026-04-23: 4 commits2026-04-24: 7 commits2026-04-25: 1 commit2026-04-26: 0 commits2026-04-27: 3 commits2026-04-28: 5 commits2026-04-29: 3 commits2026-04-30: 5 commits2026-05-01: 0 commits2026-05-02: 8 commits2026-05-03: 2 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 5 commits2026-05-07: 2 commits2026-05-08: 3 commits2026-05-09: 4 commits2026-05-10: 5 commits2026-05-11: 3 commits2026-05-12: 2 commits2026-05-13: 1 commit2026-05-14: 3 commits2026-05-15: 0 commits2026-05-16: 5 commits2026-05-17: 8 commits2026-05-18: 2 commits2026-05-19: 5 commits2026-05-20: 4 commits2026-05-21: 1 commit2026-05-22: 5 commits2026-05-23: 12 commits2026-05-24: 3 commits2026-05-25: 2 commits2026-05-26: 7 commits2026-05-27: 9 commits2026-05-28: 4 commits2026-05-29: 4 commits2026-05-30: 5 commits2026-05-31: 4 commits2026-06-01: 6 commits2026-06-02: 2 commits2026-06-03: 4 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 7 commits2026-06-07: 2 commits2026-06-08: 8 commits2026-06-09: 4 commits2026-06-10: 3 commits2026-06-11: 8 commits2026-06-12: 2 commits2026-06-13: 0 commits2026-06-14: 3 commits2026-06-15: 7 commits2026-06-16: 7 commits2026-06-17: 7 commits2026-06-18: 2 commits2026-06-19: 1 commit2026-06-20: 1 commit2026-06-21: 2 commits2026-06-22: 3 commits2026-06-23: 0 commits2026-06-24: 2 commits2026-06-25: 3 commits2026-06-26: 3 commits2026-06-27: 1 commit2026-06-28: 1 commit2026-06-29: 3 commits2026-06-30: 2 commits2026-07-01: 2 commits2026-07-02: 7 commits2026-07-03: 2 commits2026-07-04: 1 commit2026-07-05: 3 commits2026-07-06: 2 commits2026-07-07: 1 commit2026-07-08: 1 commit2026-07-09: 1 commit2026-07-10: 2 commits2026-07-11: 7 commits2026-07-12: 2 commits2026-07-13: 6 commits2026-07-14: 0 commits2026-07-15: 4 commits2026-07-16: 2 commits2026-07-17: 6 commits2026-07-18: 1 commit2026-07-19: 1 commit2026-07-20: 0 commits2026-07-21: 4 commits2026-07-22: 2 commits2026-07-23: 3 commits2026-07-24: 2 commits2026-07-25: 0 commits2026-07-26: 1 commit2026-07-27: 3 commits2026-07-28: 5 commits2026-07-29: 4 commits2026-07-30: 4 commits2026-07-31: 7 commits2026-08-01: 1 commit2026-08-02: 2 commits2026-08-03: 3 commits2026-08-04: 6 commits2026-08-05: 3 commits2026-08-06: 4 commits2026-08-07: 0 commits2026-08-08: 3 commits2026-08-09: 2 commits2026-08-10: 5 commits2026-08-11: 3 commits2026-08-12: 0 commits2026-08-13: 7 commits2026-08-14: 3 commits2026-08-15: 3 commits2026-08-16: 2 commits2026-08-17: 6 commits2026-08-18: 5 commits2026-08-19: 0 commits2026-08-20: 1 commit2026-08-21: 2 commits2026-08-22: 0 commits2026-08-23: 0 commits2026-08-24: 4 commits2026-08-25: 0 commits2026-08-26: 3 commits2026-08-27: 0 commits2026-08-28: 0 commits2026-08-29: 6 commits2026-08-30: 5 commits2026-08-31: 4 commits2026-09-01: 3 commits2026-09-02: 4 commits2026-09-03: 5 commits2026-09-04: 3 commits2026-09-05: 2 commits2026-09-06: 0 commits2026-09-07: 2 commits2026-09-08: 4 commits2026-09-09: 4 commits2026-09-10: 0 commits2026-09-11: 2 commits2026-09-12: 9 commits2026-09-13: 2 commits2026-09-14: 3 commits2026-09-15: 1 commit2026-09-16: 2 commits2026-09-17: 3 commits2026-09-18: 4 commits2026-09-19: 0 commits2026-09-20: 2 commits2026-09-21: 0 commits2026-09-22: 0 commits2026-09-23: 0 commits2026-09-24: 1 commit2026-09-25: 0 commits2026-09-26: 0 commits
906 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Rising fast

    +642 stars this week

  • Very active

    906 commits in 52 weeks

  • Continuous integration

    Automated checks passing

What lap does

Lap is a cross-platform desktop application designed for organizing and viewing large local photo collections without relying on cloud services. It focuses on privacy and performance, ensuring that media metadata and indexing occur entirely on the user's machine. The application provides a clean, modern interface for browsing directories, filtering by dates, and viewing images. It serves as a lightweight alternative to bloated proprietary photo software, prioritizing speed and local control over data.

Privacy-conscious users, photographers, and anyone looking for a simple, fast local photo viewer. No technical skills required.

  • Local processing: Keeps all image data, thumbnails, and metadata strictly on the local machine for complete privacy.
  • Cross-platform support: Provides a consistent user experience across Windows, macOS, and Linux operating systems.
  • Modern interface: Features a clean, responsive design for smooth scrolling and viewing of large media libraries.
  • Format compatibility: Supports a wide range of standard image formats commonly used by digital cameras and smartphones.
  • Open source: Allows community auditing of the code to guarantee no hidden telemetry or cloud syncing occurs.

Where teams use it

Private Photo Archiving

Organize family photos on a local hard drive with the assurance that no data is being analyzed or uploaded to the cloud.

Cross-OS Media Management

Maintain a consistent photo viewing experience when switching between Linux workstations and Windows laptops.

Lightweight Browsing

Quickly scan through directories of raw images without the overhead of importing them into a heavy database.

Metadata Inspection

Examine EXIF data and shot details without exposing the information to third-party tracking services.

README

main branch
Lap Logo

Lap - Private Local Photo Manager

Open-source desktop photo manager for macOS, Windows, and Linux.

GitHub release GitHub all releases GitHub stars

English | Deutsch | Français | Español | Português | Русский | 简体中文 | 日本語 | 한국어

Lap is an open-source, local-first photo manager for browsing family albums, finding old photos quickly, and managing large personal media libraries offline. It is a privacy-focused alternative to cloud photo services: no forced upload, local AI search, folder-first workflow, and free to use.

Download Lap

Open the latest release page, then download the file that matches your system:

Platform Package Note
macOS (Apple Silicon / Intel) _aarch64.dmg / _x64.dmg Notarized by Apple
Windows 10/11 (x64 / ARM64) _x64_en-US.msi / _arm64_en-US.msi Unsigned — if SmartScreen blocks the download, click Keep anyway
Linux (x64 / ARM64) _amd64.deb / _arm64.deb For Debian-based distros (Ubuntu, Debian, Linux Mint, etc.)
Linux (x64 / ARM64) _amd64.AppImage / _aarch64.AppImage Make the file executable, then double-click to run

macOS with Homebrew

brew tap julyx10/lap
brew install --cask lap

Screenshots

Lap local photo library manager Lap map view

Why Lap

  • Local-first by design: your photos stay on your own disk, with no required cloud account or upload.
  • No library lock-in: work directly with your existing folders instead of importing everything into a closed database.
  • Private AI tools: search, similarity, smart tags, and face features run locally on your machine.
  • Built for large collections: optimized for smooth browsing and organization across libraries with 100k+ files.
  • Open source and free: no subscription, no forced ecosystem, and code you can inspect.

Features

  • Flexible library browsing by date, folder, location, camera, lens, tags, ratings, and faces, with random sorting and a small-image filter.
  • Interactive Map View to explore geotagged photos and videos in clusters that follow your current filters.
  • Smart Albums save rule-based views with custom grouping and sorting.
  • Collections and tags to organize selected files in bulk without moving or duplicating the originals.
  • Local AI search for text prompts, visual similarity, subjects, face clustering, and optional multilingual search in 50+ languages.
  • Apple Live Photos and Google Motion Photos with motion playback and a unified Smart Album filter.
  • RAW + JPEG/HEIC pairs displayed as one item, with linked files kept together during file operations.
  • Configurable RAW thumbnails and previews using RAW rendering or the camera's embedded preview.
  • Folder-first workflow with multiple libraries, drag-and-drop import, copy-paste import, filesystem sync, and safe move/copy/delete operations.
  • Date-organized import with day, month, year, or single-folder layouts, original filenames, and duplicate skipping.
  • Culling and comparison tools including a four-pane image comparison viewer.
  • Duplicate cleanup with reclaimable-space summaries and bulk removal across duplicate sets.
  • Customizable viewing with thumbnails up to 1024 px, adjustable grid sizes and corners, and Quick Preview or separate viewer windows.
  • Desktop integration with multiple external apps and wallpaper selection on macOS, Windows, and GNOME Linux.
  • Built-in editing for crop, rotate, flip, resize, and basic image adjustments.
  • Broad format support for 60+ photo, RAW, and video formats.

Metadata, Collections, and Moving Files

Lap is folder-first, but not every piece of information shown in Lap is embedded in the original file. This distinction matters when you also manage the same folders in Finder, Explorer, or another photo app.

What stays with the file

  • Your original photos and videos always remain ordinary files in their existing folders.
  • File metadata already embedded in a file, such as EXIF capture date, camera, lens, GPS, and orientation, is read from that file when Lap indexes it.
  • Saving a built-in image edit writes the resulting image to the selected destination.
  • When you rename, move, copy, or delete files in Lap, Lap updates its local catalog at the same time. It also keeps supported grouped assets, such as Apple Live Photo components, AAE sidecars, and enabled RAW + JPEG/HEIC pairs, together.

What is stored locally by Lap

The following are Lap library data. They are stored in Lap's local database or library configuration, not written into EXIF, IPTC, or XMP sidecars:

  • Collections, Tags, Comments, Favorites, Ratings, and Culling states (including Picks and Rejects)
  • Smart Albums and their rules, grouping, sorting, and ordering
  • AI search data, face data, thumbnails, and other index/cache data

This data does not travel with a file when it is copied, exported, or moved outside Lap, and it is not available automatically to other applications.

Working with files outside Lap

Lap can rescan folders and detect many filesystem changes. But changes made outside Lap—such as renaming, moving, replacing, or copying files—can disrupt organization that is stored only in Lap.

For the most reliable results, rename and move files in Lap whenever you rely on Collections, Tags, Comments, Favorites, Ratings, or culling states. If you also manage files outside Lap, back up Lap's database and configuration together with your photos. You can manage the database location and create a backup in Settings → Storage.

Deleting Lap's database or configuration removes this local organization and index data, but does not delete your original media files.

Uninstall Lap

Lap works directly with your existing photo folders. Uninstalling Lap, or deleting its database and cache files, does not delete your original photos.

The standard uninstall steps remove the application. To remove Lap completely, quit Lap first, uninstall the application, then delete its local database, thumbnail cache, and configuration files using the cleanup command for your platform.

macOS

If you installed Lap with Homebrew:

brew uninstall --cask lap

For a manual installation, quit Lap and move Lap.app from the Applications folder to the Trash.

To remove all Lap database, cache, and configuration files:

rm -rf "$HOME/Library/Application Support/com.julyx10.lap" \
       "$HOME/Library/Caches/com.julyx10.lap" \
       "$HOME/Library/WebKit/com.julyx10.lap"
rm -f "$HOME/Library/Preferences/com.julyx10.lap.plist"

Windows

Open Settings > Apps > Installed apps, find Lap, and select Uninstall.

Then open PowerShell and remove all Lap database, cache, and configuration files:

Remove-Item -Recurse -Force -ErrorAction SilentlyContinue "$env:LOCALAPPDATA\com.julyx10.lap"
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue "$env:APPDATA\com.julyx10.lap"

Linux

For DEB installations, uninstall the package:

sudo apt remove lap

For AppImage installations, quit Lap and delete the downloaded .AppImage file.

Then remove all Lap database, cache, and configuration files:

rm -rf "$HOME/.local/share/com.julyx10.lap" \
       "$HOME/.cache/com.julyx10.lap" \
       "$HOME/.config/com.julyx10.lap"

If you selected a custom database storage directory in Lap settings, delete that directory separately after confirming that it contains only Lap database files.

Build from Source

Requirements: Node.js 20+, pnpm, Rust stable.

# macOS system deps
xcode-select --install
brew install nasm pkg-config autoconf automake libtool cmake

# Linux system deps
# sudo apt install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev \
#   patchelf nasm clang pkg-config autoconf automake libtool cmake

# Clone and build
git clone --recursive https://github.com/julyx10/lap.git
cd lap
git submodule update --init --recursive
cargo install tauri-cli --version "^2.0.0" --locked
./scripts/download_models.sh            # Windows: .\scripts\download_models.ps1
./scripts/download_ffmpeg_sidecar.sh    # Windows: .\scripts\download_ffmpeg_sidecar.ps1
cd src-vite && pnpm install && cd ..
cargo tauri dev

Supported Formats

Lap supports 60+ photo, RAW, and video formats.

Type Formats
Images JPG/JPEG/JFIF, PNG, GIF, BMP, TIFF, WebP, HEIC/HEIF/HIF, AVIF, JXL, PSD, EXR, HDR/RGBE, TGA, JPEG 2000 (JP2/J2K/J2C/JPC/JPF/JPX), DDS, DPX, QOI
RAW photos CR2, CR3, CRW, NEF, NRW, ARW, SRF, SR2, RAF, RW2, ORF, PEF, DNG, SRW, RWL, MRW, 3FR, MOS, DCR, KDC, ERF, MEF, RAW, MDC
Videos MP4, MOV, M4V, MKV, AVI, FLV, TS/M2TS, WMV, WebM, 3GP/3G2, F4V, VOB, MPG/MPEG, ASF, DIVX and more. H.264 playback is supported on all platforms, with automatic compatibility processing when native playback is unavailable. HEVC/H.265 and VP9 are natively supported on macOS.

Linux Video Playback

Lap uses system GStreamer plugins for video playback, including in the AppImage. If videos fail to play on Ubuntu, Debian, or Linux Mint, install:

sudo apt install gstreamer1.0-libav gstreamer1.0-plugins-good

Architecture

  • Core: Tauri + Rust
  • Frontend: Vue + Vite + Tailwind CSS
  • Data: SQLite

Key Libraries

Library Purpose
LibRaw RAW image decoding and thumbnail extraction
libheif HEIC/HEIF/HIF image decoding and preview generation
libjpeg-turbo Fast JPEG decoding and thumbnail generation
FFmpeg Video processing and thumbnail generation
Video.js Cross-platform video playback UI
ONNX Runtime Local AI model inference engine
CLIP Image-text similarity search
InsightFace Face detection and recognition
Leaflet Interactive map for geotagged photos
daisyUI UI component library

License

GPL-3.0-or-later. See LICENSE.

Privacy

Read the Privacy Policy for details on data handling and optional online services.

View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Discussions

all 35

Releases and announcements

23 total
  1. v0.3.2v0.3.2Sep 12, 202615K downloads

    Lap v0.3.2 brings new ways to explore, import, and organize your photo library. Discover geotagged photos in Map View, play Google Motion Photos, import media into date-based folders, and clean up duplicates across the library. This release also adds sharper thumbnails for large displays, configurable RAW previews, and important fixes for selection, album handling, and Linux AppImage compatibility. ## Highlights - **Map View** — Explore geotagged photos and videos on an interactive map directly from the main toolbar. The map follows your current view and filters, groups nearby items into clusters with photo counts, and lets you open a cluster to browse its photos. Return to the map without losing your position or zoom. (#223) - **Google Motion Photos** — Play the embedded video in supported Google/Android Motion Photo JPEGs instead of seeing only the still image. Motion Photos are recognized in existing libraries and appear alongside Apple Live Photos through the unified Live & Motion Photos Smart Album condition. (#18) - **Import and Organize by Date** — Import photos and videos from a folder into an album, automatically organizing them by day, month, year, or a single des

  2. v0.3.1v0.3.1Aug 18, 202617.3K downloads

    Lap v0.3.1 focuses on faster, safer library organization and a more capable review workflow. It adds folder search and inline folder creation, improves duplicate and related-photo review, makes album scanning clearer, and strengthens preview, thumbnail, and AI-search reliability across more formats and platforms. ## Highlights - Folder Search — Search folders directly from the Albums sidebar. Matching folders remain in their album tree with clear highlighting, root-folder context, and favorite-folder filtering. (#260) - Improved Duplicate Review — Duplicates and Similar Photos now support keep/unkeep actions, selected-item deletion, refresh and reanalyze controls, and more predictable group navigation. - Related Photo Grouping — Configure a dedicated grouping strictness for Similar Photos, independent of the Find Similar Photos search setting. Exact duplicates are excluded from related-photo analysis. - Safer Album Management — Album removal now cancels active indexing and waits for folder synchronization, preventing file-database errors during removal. - Clearer Scan Progress — Album scans now report global progress through discovery, thumbnail generation, and search-dat

  3. v0.3.0v0.3.0Jul 17, 202620.2K downloads

    Lap v0.3.0 is a major library-management and browsing update. It adds Smart Albums, persistent Collections, native Apple Live Photo support, and a four-pane comparison viewer. The release also makes large libraries faster to browse and search, while bringing a broad round of refinements to grouping, thumbnails, metadata, video, and selection workflows. This version focuses on helping you find, review, compare, and organize more of your library without breaking the folder-first workflow that Lap is built around. ## Highlights - **Smart Albums** — Create rule-based albums. Smart Albums support configurable grouping, sorting, ordering, and file-type filters, so saved views can match the way you work. (#29, #179) - **Collections** — Create persistent Collections tray and drag files into them from anywhere in your library. - **Apple Live Photos** — Lap now recognizes HEIC/MOV Live Photo pairs, displays a LIVE badge, plays them in the viewer, and keeps linked MOV and AAE sidecars together during rename, move, copy, and delete operations. Companion videos stay out of normal file lists, and pairing is incrementally refreshed during scans. (#123) - **Four-Pane Comparison** — Com

  4. v0.2.4v0.2.4Jun 16, 202612.9K downloads

    ## What's Changed Lap 0.2.4 is a major usability and compatibility update. This release brings real Windows scanning optimizations with over 20%+ performance improvement, expands media support with PSD, EXR plus additional 10+ image formats, and significantly improves day-to-day file operations including drag-and-drop, copy/paste, move/copy workflows, and external file handling. This version also includes a broad UI polish pass across Lap: cleaner dialogs, improved sidebars and panels, better keyboard navigation, more consistent controls, smoother layout behavior, and a more coherent product experience overall. Special thanks to @Rockbard for reporting a large number of professional, detailed, and highly actionable issues that helped shape this release! ## New Features * Windows scanning optimizations with over 20%+ performance improvement * Support additional 10+ image formats including PSD, EXR, HDR/RGBE, TGA, JPEG 2000 (JP2/J2K/J2C/JPC/JPF/JPX), DDS, DPX, QOI * Add multi-platform clipboard copy/paste with native Windows, macOS, and Linux support * Add drag-and-drop files to album folders with copy support (#161) * Improve file move/copy workflows with conf

  5. v0.2.3v0.2.3May 27, 20269.5K downloads

    ## New Features - Add ARM build for Linux - Update Edit Image to a standalone window with significant UI improvements - Histogram now supports Luma / Red / Green / Blue channel display, and is available in info panel as well - Add a settings toggle to include files from subfolders in album views (#17) - When sorting by taken / created / modified date, grid view supports grouping by day or month (#116) - Calendar view now allows specifying the date type for sorting (taken / created / modified date) in settings (#132) - Add permanent delete option to bypass system trash (#113) - Add automatic folder scanning with auto-detection of new, modified, deleted, and renamed files (#122) - In album folder view, individual subfolders can be excluded from all queries (#96) - Add video preview on hover in grid thumbnails (#102) - Add file export feature with native folder picker (#105) - Add tag search filter to the Custom Tags tab (#106) - Add sort by video duration option (#115) - Add welcome state for empty library - Cycle through video thumbnails by refreshing video file info (#76) - Merge justify mode into grid style as a masonry view option ## Bug Fixes - Improve lo

Commits per week

last 52 weeks
370Week of 2025-09-28: 19 commitsWeek of 2025-10-05: 15 commitsWeek of 2025-10-12: 8 commitsWeek of 2025-10-19: 3 commitsWeek of 2025-10-26: 13 commitsWeek of 2025-11-02: 7 commitsWeek of 2025-11-09: 11 commitsWeek of 2025-11-16: 11 commitsWeek of 2025-11-23: 8 commitsWeek of 2025-11-30: 4 commitsWeek of 2025-12-07: 6 commitsWeek of 2025-12-14: 4 commitsWeek of 2025-12-21: 5 commitsWeek of 2025-12-28: 10 commitsWeek of 2026-01-04: 4 commitsWeek of 2026-01-11: 10 commitsWeek of 2026-01-18: 7 commitsWeek of 2026-01-25: 11 commitsWeek of 2026-02-01: 20 commitsWeek of 2026-02-08: 20 commitsWeek of 2026-02-15: 17 commitsWeek of 2026-02-22: 33 commitsWeek of 2026-03-01: 20 commitsWeek of 2026-03-08: 18 commitsWeek of 2026-03-15: 25 commitsWeek of 2026-03-22: 27 commitsWeek of 2026-03-29: 33 commitsWeek of 2026-04-05: 22 commitsWeek of 2026-04-12: 29 commitsWeek of 2026-04-19: 33 commitsWeek of 2026-04-26: 24 commitsWeek of 2026-05-03: 16 commitsWeek of 2026-05-10: 19 commitsWeek of 2026-05-17: 37 commitsWeek of 2026-05-24: 34 commitsWeek of 2026-05-31: 23 commitsWeek of 2026-06-07: 27 commitsWeek of 2026-06-14: 28 commitsWeek of 2026-06-21: 14 commitsWeek of 2026-06-28: 18 commitsWeek of 2026-07-05: 17 commitsWeek of 2026-07-12: 21 commitsWeek of 2026-07-19: 12 commitsWeek of 2026-07-26: 25 commitsWeek of 2026-08-02: 21 commitsWeek of 2026-08-09: 23 commitsWeek of 2026-08-16: 16 commitsWeek of 2026-08-23: 13 commitsWeek of 2026-08-30: 26 commitsWeek of 2026-09-06: 21 commitsWeek of 2026-09-13: 15 commitsWeek of 2026-09-20: 3 commitsSep 28, 2025Sep 20, 2026
906 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 21 commitsSun 1:00 — 6 commitsSun 2:00 — 1 commitsSun 3:00 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 0 commitsSun 10:00 — 6 commitsSun 11:00 — 3 commitsSun 12:00 — 4 commitsSun 13:00 — 6 commitsSun 14:00 — 7 commitsSun 15:00 — 7 commitsSun 16:00 — 9 commitsSun 17:00 — 5 commitsSun 18:00 — 8 commitsSun 19:00 — 9 commitsSun 20:00 — 13 commitsSun 21:00 — 14 commitsSun 22:00 — 14 commitsSun 23:00 — 22 commitsMon 0:00 — 24 commitsMon 1:00 — 6 commitsMon 2:00 — 0 commitsMon 3:00 — 0 commitsMon 4:00 — 1 commitsMon 5:00 — 0 commitsMon 6:00 — 0 commitsMon 7:00 — 0 commitsMon 8:00 — 0 commitsMon 9:00 — 2 commitsMon 10:00 — 7 commitsMon 11:00 — 6 commitsMon 12:00 — 5 commitsMon 13:00 — 2 commitsMon 14:00 — 5 commitsMon 15:00 — 9 commitsMon 16:00 — 11 commitsMon 17:00 — 16 commitsMon 18:00 — 15 commitsMon 19:00 — 9 commitsMon 20:00 — 1 commitsMon 21:00 — 9 commitsMon 22:00 — 21 commitsMon 23:00 — 24 commitsTue 0:00 — 16 commitsTue 1:00 — 1 commitsTue 2:00 — 1 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 1 commitsTue 8:00 — 3 commitsTue 9:00 — 1 commitsTue 10:00 — 2 commitsTue 11:00 — 7 commitsTue 12:00 — 16 commitsTue 13:00 — 4 commitsTue 14:00 — 5 commitsTue 15:00 — 5 commitsTue 16:00 — 8 commitsTue 17:00 — 17 commitsTue 18:00 — 14 commitsTue 19:00 — 10 commitsTue 20:00 — 9 commitsTue 21:00 — 10 commitsTue 22:00 — 16 commitsTue 23:00 — 28 commitsWed 0:00 — 12 commitsWed 1:00 — 2 commitsWed 2:00 — 0 commitsWed 3:00 — 0 commitsWed 4:00 — 1 commitsWed 5:00 — 1 commitsWed 6:00 — 0 commitsWed 7:00 — 1 commitsWed 8:00 — 0 commitsWed 9:00 — 5 commitsWed 10:00 — 8 commitsWed 11:00 — 7 commitsWed 12:00 — 9 commitsWed 13:00 — 6 commitsWed 14:00 — 5 commitsWed 15:00 — 12 commitsWed 16:00 — 12 commitsWed 17:00 — 13 commitsWed 18:00 — 17 commitsWed 19:00 — 5 commitsWed 20:00 — 8 commitsWed 21:00 — 2 commitsWed 22:00 — 25 commitsWed 23:00 — 22 commitsThu 0:00 — 8 commitsThu 1:00 — 1 commitsThu 2:00 — 1 commitsThu 3:00 — 0 commitsThu 4:00 — 2 commitsThu 5:00 — 0 commitsThu 6:00 — 0 commitsThu 7:00 — 0 commitsThu 8:00 — 1 commitsThu 9:00 — 4 commitsThu 10:00 — 10 commitsThu 11:00 — 9 commitsThu 12:00 — 4 commitsThu 13:00 — 2 commitsThu 14:00 — 5 commitsThu 15:00 — 8 commitsThu 16:00 — 11 commitsThu 17:00 — 17 commitsThu 18:00 — 10 commitsThu 19:00 — 5 commitsThu 20:00 — 8 commitsThu 21:00 — 6 commitsThu 22:00 — 14 commitsThu 23:00 — 32 commitsFri 0:00 — 12 commitsFri 1:00 — 6 commitsFri 2:00 — 2 commitsFri 3:00 — 0 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 1 commitsFri 8:00 — 1 commitsFri 9:00 — 4 commitsFri 10:00 — 4 commitsFri 11:00 — 8 commitsFri 12:00 — 5 commitsFri 13:00 — 4 commitsFri 14:00 — 9 commitsFri 15:00 — 15 commitsFri 16:00 — 7 commitsFri 17:00 — 13 commitsFri 18:00 — 17 commitsFri 19:00 — 9 commitsFri 20:00 — 9 commitsFri 21:00 — 2 commitsFri 22:00 — 8 commitsFri 23:00 — 14 commitsSat 0:00 — 10 commitsSat 1:00 — 1 commitsSat 2:00 — 0 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 0 commitsSat 9:00 — 5 commitsSat 10:00 — 5 commitsSat 11:00 — 4 commitsSat 12:00 — 6 commitsSat 13:00 — 6 commitsSat 14:00 — 5 commitsSat 15:00 — 8 commitsSat 16:00 — 13 commitsSat 17:00 — 15 commitsSat 18:00 — 8 commitsSat 19:00 — 13 commitsSat 20:00 — 11 commitsSat 21:00 — 17 commitsSat 22:00 — 27 commitsSat 23:00 — 21 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits905 (98%)
Community commits14 (2%)

919 commits in total over the last year.

DateListRankStars gained
Sep 25, 2026daily#10+71
Sep 24, 2026daily#10+71
  • public-apis/public-apis

    A collective list of free APIs

    486.1K stars · Python

  • awesome-selfhosted/awesome-selfhosted

    A list of Free Software network services and web applications which can be hosted on your own servers

    323.8K stars

  • f/prompts.chat

    f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

    172K stars · HTML

  • x1xhlol/system-prompts-and-models-of-ai-tools

    FULL Augment Code, Claude Code, Cluely, CodeBuddy, Comet, Cursor, Devin AI, Junie, Kiro, Leap.new, Lovable, Manus, NotionAI, Orchids.app, Perplexity, Poke, Qoder, Replit, Same.dev, Trae, Traycer AI, VSCode Agent, Warp.dev, Windsurf, Xcode, Z.ai Code, Dia & v0. (And other Open Sourced) System Prompts, Internal Tools & AI Models

    144K stars

  • farion1231/cc-switch

    A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

    140K stars · Rust

  • jaywcjlove/awesome-mac

     This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.

    115.4K stars · Swift