Skip to content

Introduction to Coral

Coral is an open-source ecosystem of independent, modular interfaces for Jellyfin — a free media system that puts you in control of your entertainment.

Each Coral module is purpose-built for a specific use case:

  • Aurora - Full-featured video client with personalized home, search, and playback
  • Fathom - Elegent reading interface for books, manga, comics, and PDFs
  • Librarian - Tools for organizing and enriching your media libraries
  • KAPOW - Interactive song selection and voting for group karaoke

Instead of a monolithic media center, Coral provides specialized, best-in-class interfaces for each media type. You can run one module or all of them together, choosing what works best for your needs.

  • Jellyfin-native - Uses the Jellyfin API, never duplicates data
  • Type-safe - Built with TypeScript for better developer experience
  • Self-hosted - Run on your own infrastructure
  • Modern stack - TanStack Start, React, Tailwind CSS
  • Independent - Each module can be deployed separately

If you want to build a new Coral module, start with the official CLI:

Terminal window
pnpm create coral@latest
npm create coral@latest
bun create coral@latest

That bootstraps the current Coral template with TypeScript, Biome, and release automation already wired in. For the full flow, see create-coral CLI.

Choose a module to explore:

  • Aurora - Start building with the video client
  • Fathom - Set up your reading interface
  • Librarian - Organize your media
  • KAPOW - Create the ultimate karaoke experience
  • Encore - Template for building custom modules
  • Marquee - Template for building custom modules

All Coral modules are built with: