Speed Reading — это MVP веб-приложения для быстрого чтения книг из локальных .txt файлов. Пользователь загружает текст, приложение разбирает его на короткие chunk-и и показывает их по одному в центре экрана с выбранной скоростью. Идея простая: убрать лишние движения глазами по строкам и дать более ровный ритм чтения.
Проект сделан как легкий локальный ридер без серверной части. Файл читается прямо в браузере, настройки сохраняются локально, а само приложение можно установить на телефон или компьютер как PWA.
После загрузки .txt файла приложение нормализует текст, разбивает его на токены, собирает их в удобные для быстрого чтения фрагменты и запускает показ в режиме ридера. Скорость регулируется в WPM, есть управление play, pause, resume, stop, переход вперед и назад, а также прогресс-бар для быстрого перемещения по книге.
Chunking сделан с учетом русского языка: короткие служебные слова и слишком короткие токены по возможности не показываются отдельно, длинные слова чаще выносятся в отдельный показ, а знаки препинания влияют на длину паузы. За счет этого ритм чтения получается более естественным, чем при простом показе одного слова через одинаковый интервал.
Интерфейс минималистичный и адаптивный. По умолчанию используется темная тема, основной фокус остается на центральной зоне чтения, а элементы управления остаются простыми и удобными для телефона.
Проект собран на TypeScript, React и Vite. Для установки приложения как PWA используется vite-plugin-pwa. Вся логика разбита на отдельные части: обработка текста, токенизация, chunking, воспроизведение и UI.
- загрузка локального
.txtфайла; - нормализация и разбор текста в браузере;
- токенизация на слова и знаки препинания;
- chunking под русский язык;
- центральный экран показа chunk-ов;
- настройка скорости чтения в
WPM; play / pause / resume / stop / next / previous;- плавная остановка без резкого обрыва текущего chunk-а;
- прогресс-бар;
- сохранение настроек в
localStorage; - адаптивный интерфейс;
- installable
PWA.
npm install
npm run devСборка production-версии:
npm run build
npm run previewПроект можно собрать в Android APK через Capacitor. После сборки debug-файл появляется по пути:
android/app/build/outputs/apk/debug/app-debug.apk
Быстрая сборка APK из корня проекта:
npm install
npm run apk:debugЕсли нужно запускать шаги вручную:
npm run build
npx cap sync android
cd android
./gradlew assembleDebugЭто не универсальный книжный ридер и не сложная платформа для чтения. Это компактный MVP, который решает одну конкретную задачу: быстро и удобно показывать текст из .txt в формате, подходящем для скоростного чтения. Проект можно использовать как готовую основу для дальнейшего развития или как простой личный инструмент для чтения.