Unified tracker for media collections with external metadata sync.

Shelf helps users organize shows, movies, anime, and books with consistent metadata and progress tracking.
The backend aggregates multiple public APIs and normalizes fields for a clean front-end experience.
Media tracking tools often focus on one domain and become fragmented across apps.
Metadata quality and naming conventions vary between providers, creating messy search and duplicate entries.
API heterogeneity
TMDB, Jikan, and Open Library return different schemas and quality guarantees.
Data freshness
The system needed periodic synchronization without degrading app response times.
Operational simplicity
Containerized deployment and CI/CD had to stay simple enough for quick iteration.
Normalized metadata layer
Created a mapping layer that translates provider-specific payloads into a single internal model.
Service split by responsibility
Separated ingestion, persistence, and user collection features to keep core workflows testable.
Container-first deployment
Used Docker and pipeline automation for consistent environment setup and safer releases.