$ cd ~/projects && ls

Badland Book Club

Social book club platform with EPUB and audiobook hosting, real-time reading progress tracking, and section-level comments. In progress.

React 19 Vite TypeScript Express 5 tRPC MongoDB AWS S3 epub.js WebSockets PWA In Progress

Overview

Badland Book Club is a social reading platform where users create book clubs, upload EPUBs and audiobooks, and read together. The platform tracks everyone's reading progress in real time, so you can see exactly where your friends are in the book. Section-level comments let readers leave thoughts that appear contextually as others reach that part of the story.

Built as a standalone Turborepo monorepo sharing authentication with Badland AI Chat. All content is stored in the cloud via AWS S3 with optional local caching through the PWA's IndexedDB layer for offline reading.

Book Club — Dex club with invite link, member list, and Dark Matter by Blake Crouch

Architecture

Key Features

EPUB Reader

Full in-browser EPUB reading powered by epub.js. Supports pagination, font sizing, and bookmarking. Your reading position syncs across devices in real time via the API.

Audiobook Hosting

Upload audiobook files to a club. Members can stream individual tracks or download the entire audiobook as a zip file. Tracks are stored on S3 and served via presigned URLs.

Real-Time Presence

See where every member of your book club is in the book right now. Progress updates push instantly via WebSockets — no polling, no refresh needed.

Section-Level Comments

Leave comments tied to specific sections of the book. Other readers see them when they reach that point — no spoilers, just contextual discussion that unfolds as you read.

Additional Features