gitwtfhub

wtf is swiftbookapp?

kevinleeeee323/swiftbookapp — explained in plain English

Analysis updated 2026-05-18

4SwiftAudience · developerComplexity · 3/5LicenseSetup · moderate

TL;DR

An iOS EPUB reader styled after Apple Books that adds volume button page turning, reading stats, and deep font and theme customization.

Mindmap

mindmap
  root((SwiftBook))
    What it does
      EPUB reading
      Volume button page turn
      Reading stats
    Tech stack
      Swift
      SwiftUI
      WKWebView
    Use cases
      Read in bed hands-free
      Track reading streaks
      Learn pagination techniques
    Audience
      iOS developers
      Ebook readers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Read EPUB books on iPhone and turn pages with the volume buttons instead of tapping the screen.

REASON 2

Track daily reading time, streaks, and how many books you finish in a year.

REASON 3

Customize font, theme, and layout for a more comfortable reading experience, including Chinese text.

REASON 4

Study the source code to learn how to build a custom EPUB pagination engine with WKWebView.

What's in the stack?

SwiftSwiftUIWKWebViewXcode

How it stacks up

kevinleeeee323/swiftbookappanywhere-music-player/codexlimitsaydahnizzy/calendar-drag-interaction
Stars444
LanguageSwiftSwiftSwift
Setup difficultymoderatemoderateeasy
Complexity3/52/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires a Mac with Xcode 15+, optional Chinese serif fonts are pulled separately via Git LFS.

MIT license: free to use, copy, modify, and distribute, including commercially, as long as the original copyright notice is kept.

Wtf does this do

SwiftBook is an iOS app for reading EPUB ebooks, built to look and feel like Apple's own Books app. The developer built it to solve one specific frustration: neither Apple Books nor most other ebook readers on iPhone let you turn pages using the volume buttons, even though this has been a normal feature on Android phones for years. SwiftBook adds that missing feature, letting you flip pages while lying in bed without reaching out to tap the screen. Beyond volume button page turning, the app covers the basics you would expect from an ebook reader: you import EPUB files through the iPhone's Files app, turn pages by tapping the sides of the screen, swiping, or dragging a progress bar, and it remembers where you left off in every book. You can adjust font size, choose from several font families including ones suited to Chinese text, change line spacing and margins, and switch between light, warm, dark, and an eye-care green color theme. It also shows a table of contents you can jump to directly, handles footnotes by letting you tap to jump to a note and then jump back to where you were reading, and tracks reading habits like daily time spent reading, streaks, and books finished in the current year. The app is built with SwiftUI and a web view component, and the underlying page-turning technique renders each book as a single web page split into scrollable columns, so that each column lines up exactly with one screen of text. The README goes into real technical depth about tricky bugs the developer ran into while building this, such as the web view resizing unexpectedly and breaking page navigation, and a bug where a font name containing a quote mark silently broke every interactive feature in the app. To build and run SwiftBook yourself you need a Mac with Xcode installed, the project comes with a ready made Xcode project file, and there is an optional font package fetched separately through Git LFS. The current state is described as an early but genuinely daily usable version, with more features still planned. It carries an MIT license and is aimed at iOS developers or highly technical readers, not casual users looking for an already published app.

Yoink these prompts

Prompt 1
Help me clone SwiftBookApp and get it running in Xcode on my Mac.
Prompt 2
Explain how SwiftBook uses CSS multi-column layout to turn a web page into a page-turning ebook reader.
Prompt 3
Walk me through how SwiftBook's volume button page-turning is implemented in Swift.
Prompt 4
Show me what caused the font quote mark bug that broke SwiftBook's interactivity, and how it was fixed.

Frequently asked questions

wtf is swiftbookapp?

An iOS EPUB reader styled after Apple Books that adds volume button page turning, reading stats, and deep font and theme customization.

What language is swiftbookapp written in?

Mainly Swift. The stack also includes Swift, SwiftUI, WKWebView.

What license does swiftbookapp use?

MIT license: free to use, copy, modify, and distribute, including commercially, as long as the original copyright notice is kept.

How hard is swiftbookapp to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is swiftbookapp for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.