- Node.js (v18 or higher) - Download
- Rust (latest stable) - Install via rustup
- Python (3.11 or higher) - Download
- Git - Download
- Visual Studio Build Tools or Visual Studio Community
- Install "C++ CMake tools for Visual Studio" workload
- Or install standalone: Microsoft C++ Build Tools
- CMake - Download
# Install Xcode Command Line Tools
xcode-select --install
# Install required Homebrew packages
# dlib: Required for face recognition (pre-compiled, avoids build issues)
# imagemagick: Required for RAW image processing on macOS
brew install cmake dlib imagemagickImportant for Apple Silicon (M1/M2/M3) Macs with Python 3.12+: The
dliblibrary cannot be built from source on newer macOS/Python combinations due to SDK changes. Installingdlibvia Homebrew first resolves this issue. The Python package will then link against the system library.
sudo apt update
sudo apt install build-essential cmake libopenblas-dev liblapack-dev libx11-dev libgtk-3-dev libwebkit2gtk-4.0-devsudo dnf install gcc gcc-c++ cmake openblas-devel lapack-devel gtk3-devel webkit2gtk3-devel- No prerequisites - The distributed application includes all dependencies
- Visit the Releases page
- Download the installer for your platform:
- Windows:
Local_Lens_x.x.x_x64-setup.exeorLocal_Lens_x.x.x_x64_en-US.msi - macOS:
Local_Lens_x.x.x_x64.dmg - Linux:
Local_Lens_x.x.x_amd64.deborLocal_Lens_x.x.x_x86_64.AppImage
- Windows:
- Run the installer and follow the setup wizard
- Launch Local Lens from your applications menu
Follow the Development Setup section below.
git clone https://github.com/your-username/local-lens.git
cd local-lenscd backend
python -m venv venv
# Activate virtual environment
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate# Install core dependencies
pip install -r requirements.txt
# Note: face_recognition installation may take 10-15 minutes
# as it compiles dlib from sourceIf face_recognition installation fails:
Windows:
# Ensure Visual Studio Build Tools are installed
# Try installing dlib separately first:
pip install cmake
pip install dlib
pip install face_recognitionmacOS (especially Apple Silicon M1/M2/M3):
# Step 1: Install system dependencies via Homebrew (REQUIRED)
brew install cmake dlib imagemagick
# Step 2: Create and activate a Python 3.11 virtual environment
# (Python 3.11 is recommended for best compatibility)
python3.11 -m venv .venv
source .venv/bin/activate
# Step 3: Upgrade pip and install the rest
pip install --upgrade pip setuptools wheel
pip install -r requirements.txtNote: If you're using Python 3.12+, you MUST install
dlibvia Homebrew first. Therawpylibrary is replaced byWand(ImageMagick) on macOS for RAW image support.
# Ensure development packages are installed
sudo apt install build-essential cmake libopenblas-dev liblapack-dev
pip install dlib
pip install face_recognitioncd ../frontend
pnpm installYou can run the application in two modes during development:
Run the Python backend manually. This is best for developing backend features as you can restart the server quickly.
Terminal 1: Python Backend
cd backend
venv\Scripts\activate # Windows
# source venv/bin/activate # macOS/Linux
python main.pyThe backend will start on http://127.0.0.1:8000
Terminal 2: Frontend & Tauri
cd frontend
pnpm run tauri devThis will:
- Start the Vite development server
- Launch the Tauri desktop application
- Enable hot-reload for frontend changes
Force Tauri to launch the bundled backend_server executable (sidecar) instead of connecting to localhost:8000. Use this to verify the frozen executable works before building.
Terminal:
# Windows PowerShell
$env:USE_SIDECAR="true"; pnpm run tauri dev
# macOS/Linux
USE_SIDECAR=true pnpm run tauri devBefore building, ensure all development dependencies are properly installed:
# Verify Node.js
node --version # Should be v18+
# Verify Rust
rustc --version
# Verify Python environment
cd backend
venv\Scripts\activate # Windows
# source venv/bin/activate # macOS/Linux
python -c "import face_recognition; print('✅ Face recognition ready')"cd backend
venv\Scripts\activate # Windows
# source venv/bin/activate # macOS/Linux
# Create standalone executable with PyInstaller
python -m PyInstaller backend_server.specThe executable will be created in backend/dist/backend_server.exe (Windows) or backend/dist/backend_server (macOS/Linux).
We have automated this step with a helper script that detects your platform and renames the binary correctly.
cd frontend
node ensure-backend.jsThis script will:
- Find the built
backend_serverexecutable in../backend/dist/ - Copy it to
src-tauri/ - Rename it to the correct target triple (e.g.,
backend_server-x86_64-pc-windows-msvc.exeorbackend_server-aarch64-apple-darwin)
Note: If you skip this step, the Tauri build will fail because it won't find the sidecar executable.
cd frontend
# For local builds you need to load the `.eve` first:
source .env && pnpm run tauri build
# Build production version
pnpm run tauri buildThis will create:
- Windows:
.msiand.exeinstallers insrc-tauri/target/release/bundle/ - macOS:
.dmginstaller and.appbundle - Linux:
.deb,.AppImage, or.rpmpackages
frontend/src-tauri/target/release/bundle/
├── msi/ # Windows MSI installer
├── nsis/ # Windows NSIS installer
├── dmg/ # macOS disk image
├── macos/ # macOS app bundle
├── deb/ # Debian package
├── appimage/ # Linux AppImage
└── rpm/ # RPM package
- The AI face recognition uses significant memory. For large photo collections (>1000 photos), ensure at least 8GB RAM
- The application automatically falls back to less memory-intensive algorithms when needed
- Face recognition is CPU-intensive. Processing time scales with image resolution and number of faces
- For faster processing, consider resizing very large images before organization
- Application data is stored in platform-specific locations:
- Windows:
%APPDATA%/LocalLens/ - macOS:
~/Library/Application Support/LocalLens/ - Linux:
~/.config/LocalLens/
- Windows:
# Clear PyInstaller cache if build fails
python -m PyInstaller --clean backend_server.spec
# For "module not found" errors, add missing modules:
python -m PyInstaller --hidden-import=missing_module_name ...# Clear Tauri build cache
pnpm run tauri clean
# Rebuild node modules if needed
rm -rf node_modules pnpm-lock.yaml
pnpm install- Ensure Visual Studio Build Tools are properly installed on Windows
- On macOS, you may need to set
CMAKE_OSX_ARCHITECTURES=arm64for Apple Silicon - On Linux, install
libopenblas-devandliblapack-dev