Almagest
A universal product catalog for media — the foundation for personalized experiences
The Problem
Media metadata is scattered, inconsistent, and messy. A single book might have different titles, authors listed in different formats, and conflicting publication dates depending on where you look. Movies have dozens of alternate titles across regions. Podcast feeds disappear or change URLs without warning.
Building any personalized media experience — a collection tracker, a recommendation engine, a family library — means first solving the catalog problem. And solving it once, correctly, so that every application built on top starts with clean, consistent, and complete data.
About Almagest
Almagest is a unified media catalog API that normalizes books, movies, TV shows, podcasts, and YouTube content into a single, consistent data model. It ingests raw metadata from various sources, uses AI to clean and reconcile conflicting information, and exposes a fast API that any application can build on.
Rather than every media application reinventing metadata ingestion and cleanup, Almagest handles it centrally. Applications that consume the API get clean titles, accurate authorship, normalized dates, organized series, and curated cover art — without writing a single line of data pipeline code.
The name comes from Ptolemy's ancient star catalog — a comprehensive reference that mapped the known universe. Almagest does the same for media: one catalog to find anything.
Media Types
Books
Titles, authors, series, editions, and formats across fiction and non-fiction
Movies
Feature films with cast, crew, genres, ratings, and regional release data
TV Shows
Series with season and episode breakdowns, air dates, and network information
Podcasts
Shows and episodes with host information, topics, and feed metadata
YouTube
Channels and videos with creator info, categories, and playlist organization
Cross-Media
Links related items across types — the book, its film adaptation, and the podcast interview with the author
AI-Powered Intelligence
Raw media metadata is rarely ready to use. Almagest applies AI at every stage of the pipeline to turn messy inputs into clean, structured catalog data.
Recommendations & Discovery
Almagest doesn't just store media — it connects it. Every item in the catalog is linked to related content through multiple dimensions, giving consuming applications a rich foundation for personalized recommendations.
What You Can Build
Almagest is infrastructure, not a consumer product. It's the foundation layer that makes building media-centric applications fast and reliable.
Collection Trackers
Track what you own, what you've read or watched, and what's missing from a series. The catalog handles identity and completeness so the app can focus on the experience.
Recommendation Engines
Build personalized suggestions on top of clean, cross-referenced metadata. Know that a user who liked the book will probably want to know about the film.
Family Libraries
Shared catalogs where family members track their own media across formats. One family's books, movies, and shows in a single organized view.
Discovery Tools
Search across media types to find everything related to a topic, creator, or franchise. The cross-media linking makes exploration natural.
Key Features
Continuous Ingestion
A background worker continuously ingests and refreshes metadata from multiple sources. The catalog stays current without manual intervention.
Fast API
A RESTful API built in Go serves catalog queries with low latency. Search by title, browse by category, or look up specific items by ID.
People & Creators
Authors, directors, actors, hosts, and creators are first-class entities. Browse everything by a specific creator across all media types.
Managed Imagery
Cover art and thumbnails are stored, optimized, and served directly. Consuming applications get reliable image URLs without hotlinking concerns.
Architecture
Worker
Background process that ingests metadata, runs AI cleaning pipelines, detects series relationships, and selects cover art
Catalog Database
PostgreSQL stores the canonical catalog with full-text search, relationship graphs, and change history
API Server
Go HTTP server exposes the catalog via RESTful endpoints with search, filtering, and pagination
Sample API
Real request and response examples from the catalog.
Additional Endpoints
GET /api/v1/media/{id}Full media detail with people, genres, subjects, ratings, series, and external IDs
GET /api/v1/media/{id}/similarContent-based recommendations scored by shared people, genres, and year proximity
GET /api/v1/media/{id}/relationsCross-media links: adaptations, sequels, prequels, remakes, spin-offs
GET /api/v1/media/randomRandom discovery, optionally filtered by type or genre
GET /api/v1/people/{id}/mediaAll media by a person, filterable by role (author, director, actor, etc.)
GET /api/v1/people/searchSearch 17.9M people by name
GET /api/v1/genresAll genres with media counts
GET /api/v1/statsCatalog-wide statistics with breakdowns by type and source
Have a project like this one?
We'd be glad to talk through your goals, your constraints, and whether we're the right team for the work.
