What Is O-POD?
C.W.'s O-POD (Open Print-On-Demand) is a self-hosted web application that turns public domain texts into beautiful, print-ready physical books. It provides a guided workflow from source selection through typesetting, cover design, illustration placement, and print-on-demand ordering — with the goal of making the entire process nearly one-click.
O-POD is not a productivity tool like CWOC. It is a book publishing assistant that helps you take public domain books from sources like Project Gutenberg and Standard Ebooks, clean them up, design covers, and order printed copies through services like Lulu xPress, BookVault, or KDP Print.
The O-POD Workflow
O-POD guides you through seven steps to create a print-ready book:
-
Find a Book — Search Project Gutenberg and Standard Ebooks for public domain texts, or upload your own (EPUB, DOCX, TXT, PDF).
-
Typo Correction (optional) — An LLM scans the text chapter by chapter for typographical errors. You review and accept/reject each suggestion. High-quality sources (Standard Ebooks) skip this step by default.
-
Illustrations (optional) — Place and size images within your book before typesetting. Features include three image pools, drag-and-drop placement, spread preview, undo/redo, and resolution warnings.
-
Typesetting — Generates a print-ready interior PDF using Typst. Includes proper front matter (half-title, title page, copyright), chapter detection, running headers, page numbers, and back matter with attribution and QR codes.
-
Cover Design — AI generates 10 spoiler-free cover art prompts from the book's text. Generate images, pick one (or upload your own), then use the interactive Cover Builder to position text, choose templates, and customize. Outputs a CMYK PDF with correct bleed and spine width.
-
Print & Ship — Submit orders to Lulu xPress, BookVault, or export for KDP Print. Supports multi-title batch ordering, ISBN management, and order tracking.
-
Bookshelf — Manage your collection with pagination, status filtering, drag-and-drop reordering, and batch operations.
Key Features
- Source Search — Search Project Gutenberg and Standard Ebooks directly from the app
- Typo Scanning — LLM-powered error detection with chapter-by-chapter review interface
- Illustration Management — Three image pools (Available, Shared, In-Book) with drag-and-drop placement and spread preview
- Typesetting Engine — Typst-based interior PDF generation with proper formatting and QR codes
- Cover Art Generation — AI prompt generation and image creation with interactive cover builder
- Print Provider Integration — Lulu xPress, BookVault, and KDP Print support with batch ordering
- Bookshelf Management — Organize your projects with status filtering and drag-and-drop reordering
- Resource Tracking — Live system stats, historical usage, and per-project cost estimation
- Admin Dashboard — User management, system settings, and resource monitoring
Tech Stack
O-POD is built with modern, self-hosting technologies:
- Backend: Python 3.11 / FastAPI (async)
- Frontend: Vanilla JavaScript (ES6+) + jQuery, served by Caddy
- Database: PostgreSQL 16
- Task Queue: Celery with Redis broker
- Typesetting: Typst (compiled via subprocess)
- Cover PDF: PyCairo (CMYK color space)
- AI: Pluggable provider system — local (Ollama for text, ComfyUI for images) or cloud (OpenAI, Anthropic, Replicate)
- Storage: Local filesystem or S3-compatible object storage
- Deployment: Docker Compose
O-POD defaults to local AI via Ollama for text generation. It runs on CPU without a GPU — completely private and free. For faster responses, you can configure cloud API keys in Settings.
Getting Started
Install on a fresh Debian/Ubuntu or Fedora/RHEL machine with one command:
curl -sSL https://cwholemaniii.com/code/cwoc/releases/build.sh | sudo bash
Once the script completes, open http://your-server-ip:8080 in any browser.
For a live demo, visit http://8.229.87.114:8080/.