2026-02-19 17:41:38 +01:00
|
|
|
|
# fast_reader
|
2026-11-04 22:30:59 +01:00
|
|
|
|
|
2026-02-19 17:41:38 +01:00
|
|
|
|
Machine that aims to speed up your reading.
|
2026-11-04 22:30:59 +01:00
|
|
|
|
A cross-platform RSVP (Rapid Serial Visual Presentation) speed-reading
|
|
|
|
|
|
desktop application built with Go and Wails.
|
|
|
|
|
|
|
|
|
|
|
|
## Features
|
|
|
|
|
|
|
|
|
|
|
|
- RSVP speed reading
|
|
|
|
|
|
- Adjustable reading speed (100–1000 WPM)
|
|
|
|
|
|
- Optimal Recognition Point (ORP) highlighting
|
|
|
|
|
|
- Text input and demo text
|
|
|
|
|
|
- Playback controls
|
|
|
|
|
|
- Reading progress indicator
|
|
|
|
|
|
- Keyboard shortcuts
|
|
|
|
|
|
- Cross-platform desktop support
|
|
|
|
|
|
|
|
|
|
|
|
## Tech Stack
|
|
|
|
|
|
|
|
|
|
|
|
- Go
|
|
|
|
|
|
- Wails v2
|
|
|
|
|
|
- TypeScript
|
|
|
|
|
|
- Vite
|
|
|
|
|
|
|
|
|
|
|
|
## Prerequisites
|
|
|
|
|
|
|
|
|
|
|
|
- Go 1.24+
|
|
|
|
|
|
- Node.js 22+
|
|
|
|
|
|
- npm
|
|
|
|
|
|
- Wails CLI v2
|
|
|
|
|
|
|
|
|
|
|
|
For Linux development, install the Wails system dependencies:
|
|
|
|
|
|
https://wails.io/docs/gettingstarted/installation
|
|
|
|
|
|
|
|
|
|
|
|
## Getting Started
|
|
|
|
|
|
|
|
|
|
|
|
Install Wails:
|
|
|
|
|
|
|
|
|
|
|
|
go install github.com/wailsapp/wails/v2/cmd/wails@v2.10.2
|
|
|
|
|
|
|
|
|
|
|
|
Install project dependencies:
|
|
|
|
|
|
|
|
|
|
|
|
make install
|
|
|
|
|
|
|
|
|
|
|
|
Start development mode:
|
|
|
|
|
|
|
|
|
|
|
|
make dev
|
|
|
|
|
|
|
|
|
|
|
|
Build the desktop application:
|
|
|
|
|
|
|
|
|
|
|
|
make build
|
|
|
|
|
|
|
|
|
|
|
|
Run Go tests:
|
|
|
|
|
|
|
|
|
|
|
|
make test
|
|
|
|
|
|
|
|
|
|
|
|
## Docker
|
|
|
|
|
|
|
|
|
|
|
|
Build and test the Linux application in Docker:
|
|
|
|
|
|
|
|
|
|
|
|
docker build --target go-builder -t fast_reader-ci .
|
|
|
|
|
|
|
|
|
|
|
|
Export the Linux binary:
|
|
|
|
|
|
|
|
|
|
|
|
make docker-build
|
|
|
|
|
|
|
|
|
|
|
|
Note: Docker builds a Linux binary. Windows and macOS builds
|
|
|
|
|
|
should be performed on their respective operating systems or
|
|
|
|
|
|
through dedicated cross-platform build runners.
|
|
|
|
|
|
|
|
|
|
|
|
## Keyboard Shortcuts
|
|
|
|
|
|
|
|
|
|
|
|
| Key | Action |
|
|
|
|
|
|
| ------ | ------------- |
|
|
|
|
|
|
| Space | Play / Pause |
|
|
|
|
|
|
| ← | Previous word |
|
|
|
|
|
|
| → | Next word |
|
|
|
|
|
|
| R | Reset |
|
|
|
|
|
|
| Escape | Pause |
|
|
|
|
|
|
|
|
|
|
|
|
## Project Structure
|
|
|
|
|
|
|
|
|
|
|
|
app/ Wails application bindings
|
|
|
|
|
|
internal/reader/ RSVP reader engine
|
|
|
|
|
|
frontend/ TypeScript UI
|
|
|
|
|
|
build/ Wails build artifacts
|
|
|
|
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
|
|
|
|
MIT
|