Frontispiece

A self-hosted e-reader and reading tracker for your Calibre library. Read on any device, track detailed stats, and keep your data under your control.

Frontispiece is a self-hosted e-reader and reading tracker built around your Calibre library. It connects to your existing Calibre content server, wraps it in a modern web UI and native Android app, and adds everything Calibre doesn't have: a built-in EPUB reader, cross-device position sync, reading session tracking, and deep analytics.

You deploy Frontispiece on your own server with Docker Compose. It proxies your Calibre library, manages user accounts, and records every reading session. The web app runs in any browser. The Android app downloads books for offline reading and syncs progress in the background when you're back online.

Reading stats go well beyond simple page counts. Frontispiece tracks your speed over time, breaks down reading by time of day, generates heatmaps of your activity, and estimates how long it will take to finish a book or complete a series. It detects gaps in your series, flags library issues like missing metadata or duplicates, and can optionally scrobble your reading activity to Hardcover.

Clients
Web App Vue 3 · works in any browser
Android Kotlin · Jetpack Compose
iOS Swift · SwiftUI (coming soon)
↓ GraphQL ↓
Server
Frontispiece Backend Spring Boot · PostgreSQL · self-hosted via Docker
↓ REST ↓
Library
Calibre Your existing Calibre content server

You run the Frontispiece backend alongside your Calibre server (a single docker compose up). The backend proxies your Calibre library, handles user accounts, stores reading events, and computes analytics. Clients connect to the backend over GraphQL.

Built-in E-Reader

Read EPUBs directly in the browser or on Android. Configurable themes, fonts, and a dual-slot status bar showing progress, time remaining, or chapter info.

Cross-Device Sync

Your reading position syncs automatically. Start a book on your phone, pick it up on your tablet, finish on the web. No manual bookmarks needed.

Reading Analytics

Heatmaps, reading speed, daily summaries, time-of-day patterns, and per-book breakdowns. Think Strava, but for reading.

Session Tracking

Every reading session is recorded with duration, pages read, speed, and chapter progress. Post-session recaps show you what you accomplished.

Series & Library Health

Track progress through book series, spot missing entries, find duplicates, and identify incomplete metadata across your library.

Achievements & Streaks

Earn XP, unlock achievements, and build reading streaks. Set annual goals and watch your progress grow over time.

Annotations

Highlights, bookmarks, and notes that sync across devices. Browse all your annotations in one place, across every book.

Offline Reading

Download books for offline access. The Android app syncs reading events in the background once you're back online.

Web App

Screenshot coming soon
Screenshot coming soon
Screenshot coming soon

Android

Screenshot coming soon
Screenshot coming soon
Screenshot coming soon
Screenshot coming soon
📚

Calibre

Connects to your existing Calibre content server. Frontispiece reads your library metadata, serves book files, and proxies cover images. No migration required.

🔗

Hardcover

Optionally scrobble your reading activity to Hardcover.app. Status updates, progress, ratings, and completion dates sync automatically.

Self-hosted & open

Frontispiece runs on your own server. Your reading data, your library, your annotations. None of it leaves your infrastructure. Deploy with Docker Compose in minutes.