Light Reader
Light Reader is a modern mobile e-book reader for the Android platform, built on the Readium Kotlin Toolkit. The project combines core reading functionality for various book formats, a built-in library, and advanced artificial intelligence (AI) features.
Key Features and Functionality
1. Reading and Supported Formats
- Supported Formats: EPUB, PDF, FB2, TXT, DOCX.
- Selectable Text in PDF
- Built-in Converters: Automatic conversion of FB2, TXT, and DOCX files into EPUB format for a comfortable reading experience.
- Display Customization: Adjustment of fonts, text size, and themes (light/dark); includes a quick settings menu and adaptation to user visual preferences.
- Navigation and Bookmarks: Saving reading progress, creating bookmarks, text highlighting, and table of contents (outline) navigation.
- Text-to-Speech (TTS): Text-to-speech narration with playback controls and voice customization options.
- Search: In-book text search functionality.
2. Bookshelf and Library Management
- Interface: Modern book list display powered by Jetpack Compose.
- Filtering and Tags: Categorizing books with statuses such as "Favorites," "Want to Read," and "Read."
- Sorting and Metadata: Displaying file size, date added, format type, and reading progress percentage.
- Cover Generation: Automatic generation of text-based and graphical covers when original artwork is missing.
3. AI Assistant Integration
The application features an AI assistant capable of analyzing book texts, answering questions, and conducting context-aware conversations based on the loaded content.
- Supported AI Providers:
- Google Gemini (direct integration with full-text analysis).
- OpenAI (models).
- DeepSeek (
deepseek-chatmodels and local/cloud variants). - OpenRouter (access to a wide range of third-party models).
- RAG (Retrieval-Augmented Generation):
- Chunking of book text with overlap preservation.
- Generation and caching of text vector embeddings.
- Retrieval of the most relevant book excerpts via cosine similarity to provide accurate AI answers regarding the content.
- Chat Management:
- Saving conversation history in JSON format.
- Creating new sessions, renaming, and deleting chats.
- Exporting dialogs to
.txtformat and sharing capabilities. - Attaching specific books from the library to the current chat session.
Libraries
https://github.com/readium/kotlin-toolkit