Parrot
A reader for your own ebooks and audiobooks on Android phones, tablets and e-ink readers. It highlights the text as the narrator reads, can read any ebook aloud with a voice on your device, and remembers where you are in every version of a book. Built with Kotlin Multiplatform; an iPhone version is in the works. Android · Free · Kotlin Multiplatform
The short version
Parrot in 20 seconds: read-along, moving your place between versions, and connecting your library. The video has no sound.
What it does
Reading your way
Choose the font, weight, size, margins and line height, and Parrot keeps them for every book. Day, night and e-ink themes cover the rest; the e-ink theme drops animation and uses clear outlines and larger type.Tap the screen edges or use the volume buttons to turn pages, search inside the book, jump from the contents, and tap any word for an offline dictionary definition. Highlights in four colours and notes in the margin collect in one list you can export as Markdown.Listen, or have it read to you
For ebooks with synced narration, such as those made with Storyteller, each sentence lights up as it is read, and you can switch between reading and listening without losing your place. Audio keeps playing in the background, with chapter controls in the notification and on Android Auto, plus a sleep timer.No audiobook? Download a voice and Parrot reads any ebook aloud. Chapters are prepared ahead so playback has no gaps, and the text is processed on the device.Reading statistics
See how long you read and listened, by day and by book, with streaks and a record of every session. When you come back to a book, an optional recap reminds you where you stopped.Your library, on every device
Connect the Storyteller or Audiobookshelf server you already run, or browse OPDS catalogues such as Project Gutenberg. No server? Parrot Cloud keeps your books, place, highlights and notes on every device you sign in to.Link the ebook and audiobook of the same book and Parrot shows where you are in each, then moves the others to the matching place when you ask. Downloaded books work offline, and your place syncs the next time you are online.
Latest release
Version 0.5.0
2026-07-02
New features
–Added Audiobookshelf server support with login, library browsing, downloads, and progress sync
–Added a dedicated audiobook player with immersive controls
–Added reader bookmarks with reordering, renaming, relative timestamps, and duplicate prevention
–Added an audiobook quick filter and a clear quick filters action
Improvements
–Redesigned the book detail, welcome, login, and server management screens
–Redesigned the table of contents sheet with expandable hierarchy, search, and chapter navigation
–Decluttered the reader screen with an overflow menu and collapsible read-aloud controls
–Consolidated book list filtering into a compact toolbar and dedicated server type filter
–Improved iOS playback, Now Playing integration, EPUB metadata extraction, and reader re-entry behavior
Bug fixes
–Fixed Audiobookshelf ebook and audiobook detection edge cases
–Fixed Audiobookshelf chapter parsing and progress update compatibility
–Fixed authenticated Storyteller cover loading
–Fixed Storyteller token expiry conversion and mixed boolean/integer featured field parsing
–Fixed status bar backdrop and reader content inset issues across screens
Version history
Bug fixes
–Fixed crashes when parsing Storyteller series featured fields returned as booleans
New features
–Added reader font weight controls for EPUB reading settings
–Added a reader text normalization setting
–Added a sleep timer postpone prompt
Improvements
–Reorganized and refined reader settings controls
–Improved reader gestures, input dialogs, and screen-awake behavior while reading
–Kept reader controls visible while the sleep timer menu is open
–Moved e-ink display detection into shared base UI platform code
Bug fixes
–Removed redundant Android reader fragment state saving during activity shutdown
Improvements
–Added sanitized diagnostics for OAuth login failures
Bug fixes
–Fixed Storyteller browser/OIDC login by completing authentication from the callback app token
–Removed the extra user lookup after OAuth login that could fail with a 401
Improvements
–Updated Compose Multiplatform and Material3 dependencies
–Improved release signing so APK updates use the same certificate as previous portfolio builds
Bug fixes
–Fixed Readium navigator restoration crashes after Android process death
–Fixed playback foreground service startup crashes
–Fixed duplicate reader scope creation when reopening a book
–Fixed large embedded cover artwork causing playback metadata out-of-memory crashes
–Fixed browser sign-in state when returning without completing OAuth
Bug fixes
–Fixed fragment restoration crash when multiple EPUB navigator fragments are restored after process death
New features
–Configurable Tap Navigation - Enable/disable tap navigation and customize left/right tap actions (Next Page or Previous Page)
–Configurable Double-Tap Timeout - Adjust double-tap detection timing (200-800ms) in Settings under Read Aloud section
–Audio Progress Bar Visibility Setting - Choose when to show the audio progress bar: On Tap (with controls) or Never
Improvements
–Moved double-tap detection from JavaScript to native code for more consistent behavior across platforms
–Renamed VolumeButtonAction enum to NavigationAction for semantic clarity
New features
–Android Auto Integration - Full Android Auto support with headless playback for listening to audiobooks while driving
–Background Audio Playback - Audio continues playing when the app is in the background with proper notification controls
–Mini Player - New mini player component that shows current playback state across the app
–Chapter Navigation in Media Controls - Skip to next/previous chapter directly from notification or Android Auto
–Volume Button Navigation - Use hardware volume buttons to navigate pages while reading
Improvements
–Improved synchronization between media playback and reader UI
–Better notification metadata with chapter titles
–Refactored Android audio playback to a service-centric architecture for better reliability
–Improved audio sync on navigation
Bug fixes
–Fixed playback speed not being persisted between sessions
–Fixed seek bar not updating when navigating pages
–Fixed incorrect ReadAloud starting position
–Fixed VisibleSentenceDetector returning not_found on chapter change
–Fixed position preservation when changing font size
–Fixed multi-audio file playback and chapter completion
–Fixed slow audio loading by pre-scanning all SMIL files
New features
–CACHED quick filter - Quickly filter to show only cached/downloaded books
–DATE_ADDED sort option - Sort your book library by when books were added
–Publication date support - Local/imported books now display publication date
–Separate underline color for ReadAloud - Customize the underline color independently when using ReadAloud feature
–Custom highlight colors - Full support for custom highlight colors with proper alpha/transparency
–Auto-scroll to expanded sections in settings for better navigation
–Expandable font selection in Reader settings
Improvements
–Fetch reading progress when initializing imported books
–Renamed BooksViewModel to BooksListViewModel for clarity
–Renamed DATE_ADDED to DATE_PUBLISHED sort option for accuracy
–Code cleanup (removed debug logs)
Bug fixes
–Fixed series position not showing in UI
–Fixed race condition in LocalServerInitializer causing imported books not to appear
–Fixed underline color in dark theme and conditionally show color pickers
–Fixed highlight color selection and persistence issues
–Fixed highlight color alpha being ignored by Readium
–Fixed highlight/underline decoration styles
–Highlight decoration now refreshes immediately when color or style changes
New features
–Multi-User Profiles - Create and switch between multiple user profiles. Each profile has its own reading progress and preferences. Long-press profiles to rename or delete them
–Local Book Import - Import EPUB files directly from your device. Automatic detection of readaloud books with audio. Delete imported books from the book details screen
–Library Filtering & Sorting - Quick filters: Favorites, Ebook, Readaloud, In Series, Local, Remote. Sort by: Title, Author, Rating, or Date Added. Empty state with "Reset Filters" button when no books match
–Reading Progress - Progress bars on book list items. "Downloaded" badge on cached books. Conflict indicator showing local vs remote progress differences
–Multi-Server Support - Connect to multiple Storyteller servers. Manage servers from Settings. Skip login to use local books only
Bug fixes
–Fixed readaloud button not appearing for some books
–Fixed crash when playing chapters without audio
–Fixed iOS file download issues
–Fixed app crash when switching user profiles
–Fixed reading position sync errors
Improvements
–Improved reader stability and reliability
Bug fixes
–Fixed crash when restoring app after process death