eReader

An iPhone and iPad reader for a personal book library, with text-to-speech audio and read-along highlighting.

SwiftUISwiftDataText-to-speechiPad
eReader

eReader connects to a home eReader server to list the library, upload books and kick off text-to-speech conversions. Finished audio downloads to the device for offline listening, and the reader highlights each sentence as it is spoken, so reading and listening stay in step. The server is found automatically over Bonjour, with a manual address as a fallback, and progress and bookmarks sync back. A mock server built from captured fixtures lets the app be developed and screenshotted without the real backend.

Role

Solo build: SwiftUI and SwiftData app, API contract, and server discovery — orchestrated end-to-end with Claude.

Outcomes
  • Read-along highlighting synced to per-sentence audio timings, with 15-second skip and variable playback speed.
  • Offline-ready: chapters convert on the server and download to the device, with conversion progress shown in the library.