>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Blockchain Embedded Beveiliging
Vue

Hoe honderden gigabytes aan familie foto's organiseren zonder clouds en abonnementen

Lap Logo

Ik heb een fotoarchief van ongeveer vijftien jaar op een externe schijf. Het is een complete rommel: oude point-and-shoot JPEG's, zware RAW-bestanden van een DSLR, een heleboel Live Photos van een iPhone, en plenty of duplicates from failed backups. Herkenbaar?

Dit archief groeit alleen maar elk jaar. Het uploaden van een terabyte aan persoonlijke foto's naar clouddiensten zoals Google Photos of Apple iCloud is niet altijd aantrekkelijk vanwege privacyzorgen, en betalen voor doorlopende opslagabonnementen loopt op. Desktop catalogiseringsprogramma's zoals Lightroom zijn bronintensief en vergrendelen je in proprietaire databases. Wat ik wil is iets eenvoudigs: software die bestaande mappen op schijf leest, snel zoekt, en nergens data naartoe uploadt.

Ik heb onlangs een interessant project ontdekt genaamd Lap dat precies dit probleem probeert op te lossen.

Lap local photo library manager screenshot

Wat is Lap

Lap is een opensource desktop fotobeheerder voor macOS, Windows en Linux. Het hoofdprincipe van de auteurs is lokale werking zonder clouds en zonder sterke koppeling aan proprietaire databases (map-eerst benadering).

De app dwingt je niet om bestanden te importeren in een enkele monolithische container. Je wijst het gewoon naar mappen op je schijf of netwerkstation, en het programma indexeert ze, leest metadata en bouwt een handige weergave op. Als je besluit de app te verwijderen, blijven je originele mappen precies zoals ze waren.

Praktische functies

In tegenstelling tot veel lichtgewicht viewers kan dit project routinefoto's aan.

Lokale neuraalnetwerk zoekfunctie

De meest interessante functie is ingebouwde zoekfunctie zonder externe API's aan te roepen. Het draait CLIP voor tekstgebaseerde zoekopdrachten (zoals zoeken naar "hond op het strand" of "verjaardag") en InsightFace voor gezichtsclustering. Semantische zoekopdrachten werken in ongeveer vijftig talen, waaronder Russisch. Alle verwerking gebeurt lokaal op je CPU of GPU via ONNX Runtime.

Slimme formaatverwerking

Iedereen die met zowel een camera als telefoon fotografeert, heeft te maken met visuele rommel:

  • RAW + JPEG-paren: het programma kan identieke opnames groeperen in één interface-element terwijl beide bestanden op schijf blijven. Bij verplaatsen of verwijderen wordt het paar samen afgehandeld.
  • Apple Live Photos: HEIC en bijbehorende MOV/AAE-bestanden worden correct gekoppeld, afgespeeld in de viewer, en breken niet bij het kopiëren.

Selectie en opruimen van duplicaten

Voor het sorteren van fotoshoots is er een vierpanel vergelijkingsmodus voor frames. Je kunt snel blurry duplicaten verwijderen, beoordelingen of kleurlabels instellen. De ingebouwde duplicaatscanner vindt identieke bestanden en stuurt overtollige exemplaren in batches naar de prullenbak.

Ondersteuning voor 60+ formaten

Het programma verwerkt gangbare formaten zoals JPG, PNG, WebP, moderne AVIF en JXL, zeldzame formaten zoals PSD of EXR, en RAW-bestanden van vrijwel alle grote fabrikanten (CR3, NEF, ARW, DNG, RAF en anderen).

Onder de motorkap

De projectarchitectuur ziet er clean en pragmatisch uit:

  • Backend: Rust en het Tauri-framework. Dit houdt de app lichtgewicht en voorkomt dat het gigabytes aan RAM verbruikt, zoals Electron-apps vaak doen.
  • Frontend: Vue 3, Vite en Tailwind CSS met daisyUI. De interface is responsief en de tijdlijn hapert niet tijdens snel scrollen.
  • Data-opslag: SQLite voor indices, tags en slimme albums.
  • Afbeelding- en videoverwerking: wrappers rond LibRaw, libheif, libjpeg-turbo en FFmpeg.

Om vanaf de broncode te draaien en te bouwen, heb je Rust stable, Node.js 20+ en pnpm nodig:

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
./scripts/download_ffmpeg_sidecar.sh

# Запуск dev-окружения
cd src-vite && pnpm install && cd ..
cargo tauri dev

Als handmatig bouwen niets voor jou is, zijn er voorgebouwde releases op GitHub: DMG voor macOS (met Apple Silicon en Intel ondersteuning), MSI voor Windows en DEB-pakketten voor Linux. Op macOS kan de app ook worden geïnstalleerd via Homebrew:

brew tap julyx10/lap
brew install --cask lap

Werken met metadata

Hier is een belangrijk detail om van tevoren te weten. Lap leest standaard EXIF-data (datum, camera, lens, coördinaten) direct uit bestanden. Maar gebruikerscollecties, beoordelingen, slimme albums en herkende gezichten worden opgeslagen in de database van de app, niet teruggeschreven naar XMP-sidecars.

Dus als je een map hernoemt of verplaatst buiten Lap om via een normale bestandsverkenner, zal de app de map opnieuw moeten scannen. Ontwikkelaars raden aan om basissorteerbewerkingen direct in de interface van het programma uit te voeren en periodiek een back-up van de instellingen te maken via het tabblad Opslag.

Voor wie is dit project bedoeld

Lap is geweldig voor degenen die:

  • Een groot fotoarchief op een thuis-NAS of externe HDD bewaren en dit willen ordenen.
  • Privacy waarderen en familiefoto's niet naar clouds van derden willen uploaden.
  • Een snel hulpmiddel nodig hebben voor initiële RAW-fotoselectie zonder zware verwerkingssoftware.

Het project is nog in ontwikkeling, maar biedt nu al een volwassen functieset voor dagelijks gebruik. Als je genoeg hebt van chaos in je fotomappen, is Lap zeker het proberen waard.

Gerelateerde projecten