Mobile assistive reading app with on-device OCR, text processing, and TTS for dyslexia support.
- OCR: Capture text from images (ML Kit/Apple Vision, fallback stub)
- Text Processing: Summarization, simplification, date/amount extraction
- Dyslexia-Friendly Reader:
- Atkinson Hyperlegible font
- Adjustable font size, line height, letter spacing
- Color overlays, high contrast mode
- Focus mode (one-line reading)
- Sentence highlighting during TTS
- Text-to-Speech: Sentence-by-sentence playback with pause/resume/seek
- Q&A System: Ask questions with confidence scores
- Document History: Auto-save, reopen, export, delete
- Privacy: Offline-first with cloud opt-in toggle
- React Native 0.77.0, React 18.3.1, Expo SDK 54
- JavaScript/JSX
- AsyncStorage (local only)
- ML Kit (Android) / Apple Vision (iOS)
- Platforms: iOS, Android, Web
- Node.js 20.19.4+ (or use
--ignore-enginesfor 20.15.0+) - Yarn (via Corepack)
- Expo CLI
git clone <repository-url>
cd ReadAble
corepack yarn install --ignore-engines# Start dev server
corepack yarn start
# Platform-specific
corepack yarn android
corepack yarn ios
corepack yarn web- Add Text: Camera capture, image picker, sample text, or manual input
- Process: Tap "Process" to analyze and extract key info
- Read: Toggle Simplified/Original, adjust accessibility settings
- Ask Questions: Type questions, get answers with confidence scores
- Listen: Play TTS with sentence highlighting
- History: View, reopen, export, or delete documents
ReadAble/
├── App.js # Main component
├── index.js # Entry point
├── src/
│ ├── components/ # UI components
│ ├── hooks/ # Custom hooks
│ └── utils/ # Utilities (OCR, storage, text processing)
└── assets/ # Icons and images
For real OCR (not stub):
- Build custom dev client:
npx expo prebuild - Run:
npx expo run:iosornpx expo run:android - Expo Go shows placeholder text
See expo-go.md for Expo Go quick start.
corepack yarn test
corepack yarn test:watch
corepack yarn test:coverageSee testing-guide.md for manual testing steps.
- OCR requires custom dev build (Expo Go shows placeholder)
- Node <20.19.4 needs
--ignore-enginesflag - Basic summarization (not AI-powered)
- Token-based Q&A (no embeddings)
See improvements.md for planned enhancements.
- iOS/Android: Full native support
- Web: Works in browsers (see MACOS_COMPATIBILITY.md for macOS)
See LICENSE file.