---
name: 'Chitai'
description: 'Chitai is a self-hosted eBook management application'
tags: ['python', 'typescript', 'postgresql', 'svelte', 'open-source']
image: '../../../public/static/chitai.webp'
link: 'https://git.jaroszew.ski/patrick/chitai'
order: 2
startDate: '2025-03-30'
---
# Chitai - A Self-hosted eBook Management Application

<div class="flex flex-wrap gap-2 my-0! [&>img]:my-0! [&>img]:mt-2!" >
  <img src="https://img.shields.io/badge/Python-3776AB?style=for-the-badge&logo=python&logoColor=FFD43B" alt="Python" />
  <img src="https://img.shields.io/badge/PostgreSQL-336791?style=for-the-badge&logo=postgresql&logoColor=white" alt="PostgreSQL" />
  <img src="https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white" alt="TypeScript" />
  <img src="https://img.shields.io/badge/Svelte-FF3E00?style=for-the-badge&logo=svelte&logoColor=white" alt="Svelte" />
  <img src="https://img.shields.io/badge/Docker-2496ED?style=for-the-badge&logo=docker&logoColor=white" alt="Docker" />
</div>

Chitai is a self-hosted ebook management platform I built after outgrowing [Calibre-web](https://github.com/janeczku/calibre-web). The core frustration was simple: I wanted to have separate libraries — my academic textbooks separate from fiction, which meant running two separate instances. That felt wrong and it wasn't scalable, so I built something with multi-library support from the ground up.

Beyond that, I used it as an opportunity to modernize the experience — built-in EPUB and PDF readers with progress tracking, an OPDS catalog so I can browse and fetch books from my eReader, and native KoSync endpoints so reading progress stays in sync across my KOReader devices.

It was also my first full-stack project at this scale. I picked up Svelte and TypeScript building the frontend, and got much more comfortable with async Python and PostgreSQL on the backend. Every feature is something I actually needed and figured out how to build.

**Core features**: multiple independent libraries, built-in browser readers, OPDS catalog, KOReader sync, bookshelves, automatic metadata extraction, multi-user support.

More project details, source code, and deployment instructions can be found on [here](https://git.jaroszew.ski/patrick/chitai).
