Inspiration
Reading is easy. Remembering it is hard.
Rereading feels productive, but retrieval—trying to explain what you just read from memory—is far better for long-term retention.
Most reading apps optimize for finishing faster. Study apps add recall, but outside the reading experience.
Inside Voice puts retrieval directly inside the reader.
What it does
- Synced narration: Highlights the exact word being spoken. Tap a word to jump audio there.
- Recall: After a few paragraphs, recall what happened before seeing a summary.
- Ask the book: AI answers using only text you have already read, preventing spoilers.
- Speed reading: RSVP mode from 100–1000 WPM.
- Notes: Save or summarize paragraphs.
- Customization: Fonts, spacing, themes, margins, voices, and more.
- Runs on iPhone, iPad, and Mac.
- Most features work offline with no account.
How we built it
The core is:
timeline: [(word, startTime, endTime)]
Everything follows one rule:
Current playback time determines the highlighted word.
This makes seeking, speed changes, pause/resume, and highlighting reliable.
Built with:
- Swift 6 + SwiftUI
- TextKit 2 pagination
- AVSpeechSynthesizer + AVAudioPlayer
- Kokoro-82M/CoreML neural voice
- EPUB parsing written in Swift
- AI restricted to already-read text
- 258 core tests
Challenges
- Creating accurate word-level audio timestamps
- Preventing the AI from spoiling unread text
- Making recall useful without constantly interrupting reading
- Handling Swift 6 concurrency with AVFoundation
- Keeping huge books fast through lazy loading
Accomplishments
- War and Peace opens in about 16ms
- Word highlighting stays synced across seeking and playback speeds
- Recall works with cloud AI, Apple's on-device model, or no AI
- 258 tests with zero dependencies in the reading core
- One app target across iPhone, iPad, and Mac
What we learned
A strong invariant simplifies everything.
For us:
highlight = function(currentTime)
We also learned that interaction order matters: recall first, reveal second.
What's next
- Test neural voices on real devices
- Background audio + lock-screen controls
- Disk caching
- Voice-based recall
- Bookmarks, highlights, and search
- App Store release
Built With
- apple-foundation-models
- avfoundation
- avspeechsynthesizer
- coreml
- epub
- fluidaudio
- google-gemini
- ios
- ipados
- keychain
- kokoro-82m
- macos
- swift
- swift-6
- swift-package-manager
- swift-testing
- swiftui
- textkit-2
- xcode
- xcodegen
Log in or sign up for Devpost to join the conversation.