fast_reader

Machine that aims to speed up your reading. 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

Description
No description provided
Readme GPL-3.0 90 KiB
Languages
Go 59.2%
TypeScript 25.6%
CSS 11.4%
Dockerfile 1.8%
Makefile 1.3%
Other 0.7%