Why I built Actually Read

I wanted a reading app that helps people spend more time with their books. Reading competes with distracting apps, and when a passage is confusing, it is easy to leave the book to search for an explanation. Tools like NotebookLM showed me how useful source-grounded answers can be. I wanted to bring that idea into the reading experience, alongside a way to protect the time set aside for reading.

What it does

Actually Read supports EPUBs, PDFs, and physical books. Readers can import a book or track one they are reading offline, start a timed or open-ended focus session, and use Apple’s Screen Time controls to shield selected apps and websites while they read. A reading journal shows how those sessions add up.

For digital books, an AI companion lets readers ask about a passage, scene, or theme, or request a recap. The app retrieves relevant text from the book and uses it to ground the answer. Answers prioritize citations that readers can open in the reader, and spoiler controls can limit context to their reading progress. On supported devices, readers can choose an on-device answer powered by Apple’s Foundation Models; cloud-powered AI is available for deeper questions. Book indexing, embeddings, and retrieval happen on-device. The full book is never sent to the cloud.

The reading space is designed to feel calm and personal. Its interactive 3D book scene is built with RealityKit and Reality Composer Pro content, while the reader offers the tools needed to keep reading, including bookmarks, highlights, and search.

How I built it

Actually Read is a native iPhone and iPad app built with SwiftUI. It uses Apple’s Screen Time frameworks for Deep Focus, RealityKit for the interactive book scene, and an on-device retrieval pipeline for book-aware AI. RevenueCat manages the Actually Read Plus subscription and premium AI access.

The AI pipeline extracts and indexes book text locally, finds passages relevant to a reader’s question, and supplies those passages to the answering model. That architecture matters to the product: the AI should help readers return to the text, with evidence they can inspect, rather than produce a plausible answer disconnected from the book.

Challenges and lessons

The hardest part was making these features work together as one reading experience. EPUBs and PDFs have different structures, yet readers need a dependable way to return from an AI citation to the source. Retrieval also has to find useful passages when a question uses different words from the book, while respecting spoiler boundaries and keeping book content private.

Building Actually Read reinforced that a helpful reading companion needs more than a good model. It needs reliable text extraction, relevant retrieval, clear citations, and controls that let readers decide how their questions are answered. Deep Focus and session tracking address the other half of the problem: making room to read in the first place.

What’s next

Marketing is the hardest part of any project. It's a good product, and I will have to learn how to gain more traction. Beyond that, I’m improving the connection between questions and exact passages, refining the reader across device sizes, and using early feedback to make focus sessions and reading history more useful. The goal remains simple: help people make time for a book, understand it more deeply, and keep reading.

Built With

  • deviceactivity
  • familycontrols
  • firebaseai
  • foundationmodels
  • ios
  • ipados
  • managedsettings
  • pdfkit
  • realitykit
  • revenuecat
  • swift
  • swiftdata
  • swiftui
Share this project:

Updates

Submission history