Introduction to Coral
What is Coral?
Section titled “What is 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
Why Coral?
Section titled “Why Coral?”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.
Key features across all modules:
Section titled “Key features across all modules:”- 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
Getting Started
Section titled “Getting Started”If you want to build a new Coral module, start with the official CLI:
pnpm create coral@latestnpm create coral@latestbun create coral@latestThat 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
Development
Section titled “Development”All Coral modules are built with:
- TanStack Start - React SSR framework
- TanStack Router - Type-safe routing
- TanStack Query - Server state management
- Tailwind CSS v4 - Styling
- TypeScript - Type safety
Learn More
Section titled “Learn More”- Visit getcoral.dev for the main website
- Explore the Jellyfin API Client for building with the API
- Use the create-coral CLI guide to scaffold a new module
- See Contributing to build your own module