TropoAtlas Logo TropoAtlas
Free software for your media collections · GPLv3

Organize, explore, and illuminate your collections

TropoAtlas bridges the gap between your digital catalog and physical shelves. Manage your music, movies, and books with dedicated applications, and locate items instantly on your shelves with connected IoT LED strips.

TropoAudio — Music Collection
tropoaudio.esaracco.fr
TropoCine — Film Collection
tropocine.esaracco.fr
TropoBiblio — Book Collection
tropobiblio.esaracco.fr

Tailored managers for each media type

Each application in the TropoAtlas suite is specifically tailored to the nuances of its medium, while sharing the same robust core, UI tokens, and hardware drivers.

TropoAudio

Active
Vinyl & CDs Discogs Sync LED Locator Active
TropoAudio Interface Snapshot

Album collection manager for music lovers. Synchronize vinyl records and CDs from Discogs, and locate albums with real-time LED strip illumination.

  • Instant search, sorting, and multi-layer filter by artist and style
  • Custom metadata: exact physical coordinates, custom styles, and ratings
  • Live ESP32 LED shelf locator with multi-level brightness and blink focus

TropoCine

Active
Movies TMDB Sync LEDs on Roadmap
TropoCine Interface Snapshot

Universal film collection manager for passionate cinephiles. Synchronize your movies and watchlists from TMDB, navigate directors and cast members, and explore your film library.

  • Seamless TMDB list synchronization with secure API token reverse proxy
  • Deep dive into directors, actors, and full crew filmographies
  • LED shelf locator for physical editions (DVD/Blu-ray) planned on roadmap

TropoBiblio

Active
Books Inventaire Sync LED Locator Active
TropoBiblio Interface Preview

Book library manager for passionate readers. Synchronize your books from Inventaire.io, explore authors and genres, and locate your books in real time on your shelves.

  • Seamless collection and inventory synchronization with Inventaire.io
  • Comprehensive exploration by authors, series, genres, and custom metadata
  • Real-time physical ESP32 LED locating with intensity levels and blink effect

Physical shelf location with connected LEDs

The signature innovation of TropoAtlas is the tangible link between your digital database and your physical living space.

Find your items in the blink of an eye

Addressable LED strips installed along your shelves illuminate the exact slot corresponding to selected albums or filter criteria. No more endless searching along spines!

  • 1 ESP32-S3 Mini Firmware: Ultra-lightweight C++ firmware (firmware/led-controller) driving WS2812B addressable LED strips via local HTTP requests.
  • 2 Centralized Hardware Driver: Shared standalone package (@tropo/leds) orchestrating colors, brightness, and focus blink effects.
  • 3 Current Status: Active and fully operational in TropoAudio (vinyl records, CDs) and TropoBiblio (books), with support designed to extend to physical movie editions (TropoCine).

💡 Maker-Friendly: All firmware source code and wiring schematics are free software and included in the repository, ready to flash onto an affordable ESP32 microcontroller.

Shelf Active LED: 12
Ferré Et... Basta !
Maiden Powerslave
Anspach Queen of Montreuil
Dupieux Yannick
Kropotkine L'Entraide
Perec Un homme qui dort

Interactive simulation (click any item)

Built on solid software principles

TropoAtlas is engineered as a clean, decoupled monorepo prioritizing privacy, extensibility, and developer ergonomics.

🔒

Local-First & Privacy

Zero tracking, zero analytics, zero external account lock-in. Your collection data remains strictly on your machine or private server.

📦

Clean NPM Monorepo

Shared state management (@tropo/core), UI tokens & components (@tropo/react), and hardware drivers (@tropo/leds).

🔌

Extensible Plugins

Data providers (Discogs, TMDB, Inventaire) are completely isolated in domain plugins, ensuring frontends remain provider-agnostic and easily swappable.

MONOREPO WORKSPACE ARCHITECTURE NPM WORKSPACES
tropoatlas/
├── apps/
│   ├── tropoaudio/          # Music collection manager (Discogs, LED shelf locator)
│   ├── tropocine/           # Film collection manager (TMDB, cast & directors)
│   └── tropobiblio/         # Book collection manager (Inventaire, LED shelf locator)
├── packages/
│   ├── core/                # Storage abstraction, Zustand state store, export/backup
│   ├── react/               # Shared React dialogs, tokens, reusable UI primitives
│   └── leds/                # Standalone HTTP client for ESP32 addressable LED strips
├── plugins/
│   ├── audio/discogs/       # Discogs API data provider (@tropo/discogs)
│   ├── cine/tmdb/           # TMDB API data provider (@tropo/tmdb)
│   └── biblio/inventaire/   # Inventaire API data provider (@tropo/inventaire)
└── firmware/
    └── led-controller/      # ESP32-S3 Mini C++ firmware for WS2812B shelf strips

Run locally or deploy in production

All TropoAtlas applications build into purely static, ultra-fast web bundles.

Run with Docker Compose

Launch TropoAudio (port 3000), TropoCine (port 3001), and TropoBiblio (port 3002) concurrently with a single command:

TERMINAL BASH
# Start all apps concurrently
docker compose up

# Or launch a single application
docker compose up tropoaudio
docker compose up tropocine
docker compose up tropobiblio

Local Monorepo Development

Clone the repository, install monorepo dependencies, and start the Vite development servers:

TERMINAL BASH
git clone https://github.com/esaracco/tropoatlas.git
cd tropoatlas
npm install

# Run development servers
npm run dev:audio
npm run dev:cine
npm run dev:biblio