Luminus is a photography workspace that makes your entire library discoverable through semantic search, so you can move from memory to selection in seconds.
It features:
- Semantic search that surfaces images by content and meaning
Roadmap:
- Workflow with photography projects
- Support RAW files
- Rust (stable toolchain)
- Bun (package manager)
- Tauri CLI v2
- uv (optional)
-
Clone the repository
git clone <repo-url> cd luminus
-
Download CLIP model from hugging face and convert to ONNX
uvx --from "optimum[onnxruntime]" optimum-cli export onnx --model laion/CLIP-ViT-B-32-laion2B-s34B-b79K .models/laion-CLIP-ViT-B-32-laion2B-s34B-b79K- Split the CLIP model into vision and text models
uvx --from "onnx" python3 scripts/split-clip.py-
Install frontend dependencies
cd desktop bun install -
Run in development mode
cargo tauri dev
# Build for production
bun tauri build
# Lint frontend
npx @biomejs/biome check --write src/
# Lint + format Rust (from desktop/src-tauri/)
cargo fmt
cargo clippy -- -D warningsThe non learning parts of this project (UI, DB CRUD, etc.) were developed with heavy assistance from AI coding tools, primarily Claude Code and OpenAI Codex. The ML/AI components (model selection, embedding pipeline, and inference logic) were designed and implemented by hand with guidance by online resources and tools.

