Skip to content

BroWo1/CardCatalog

Repository files navigation

CardCatalog Logo

Card Catalog

CardCatalog Screenshot

CardCatalog is a smart, local-first desktop application for photographers to catalog, search, and visualize their photo collections. Built with Electron and Nuxt, it runs entirely offline and uses local AI to help you find your best shots.

✨ Key Features

🧠 Smart AI Context Search

  • Semantic Search: Find photos by describing them (e.g., "sunset at the beach", "dog playing in snow") using local CLIP models.
  • Auto-Tagging: Automatically generates keywords for your photos without sending data to the cloud.
  • Privacy First: All AI processing happens on your machine.

📂 Powerful Organization

  • SD Card & Folder Scanning: Quickly index photos from removable media or local drives.
  • Metadata Extraction: Automatically pulls EXIF data including Camera Model, Lens, ISO, Aperture, and Focal Length.
  • Geocoding: Visualizes where your photos were taken.

🔍 Advanced Filtering

Drill down into your library with precision filters:

  • Gear: Filter by specific Camera Bodies or Lenses.
  • Settings: Filter by ISO, Aperture, and Focal Length ranges.
  • Time: Jump to specific dates with the interactive Timeline Rail.

🗺️ Interactive Map

  • OpenStreetMap View: Browse every geotagged photo on a dedicated map page with full-resolution thumbnails as pins.
  • Smart Clusters: Pins automatically group together as you zoom out so dense trips stay readable.

📊 Insights & Stats

  • Dashboard: View statistics about your shooting habits (most used cameras, favorite focal lengths).
  • Timeline: Visual distribution of your photo history.

🚀 Getting Started

Download the latest version from the Releases page.

🛠️ Tech Stack

💻 Development Setup

Prerequisites

  • Node.js (v18+ recommended)
  • npm

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/CardCatalog.git
    cd CardCatalog
  2. Install dependencies

    npm install
  3. Download AI Models

    This step is required to enable semantic search features.

    npm run download-models

Development

Run the renderer and Electron process in separate terminals:

  1. Start the Renderer (UI)

    npm run dev:renderer
  2. Start the Electron App

    npm run dev

Building for Production

To create a distributable package for your OS:

npm run package
# or to create installers
npm run make
npm ci
npm run make:win:x64

👥 Contributors

  • Will Li
  • Eric Jia
  • GPE Club

📝 License

MIT

About

High performance local SD card photo album and statistics software.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages