Skip to content

This project is a high-performance speed-reading application built on the Rapid Serial Visual Presentation (RSVP) methodology, designed to train the brain for hyper-efficient information processing. By displaying text word-by-word at a fixed Optimal Recognition Point (ORP), the app eliminates the cognitive load of saccadic eye movements and sub-voc

License

Notifications You must be signed in to change notification settings

Viniciusmq25/SpeedRead-Pro

Repository files navigation

SpeedRead Pro

A modern speed reading application that uses the RSVP (Rapid Serial Visual Presentation) technique to help you read faster and more efficiently. SpeedRead Pro presents words one at a time at a configurable pace, allowing you to train your reading speed without traditional eye movement.

✨ Features

🎯 Core Reading Features

  • RSVP Display: Words are displayed one at a time in a centered, distraction-free interface
  • Optimal Recognition Point (ORP): Highlights the optimal character in each word for faster recognition
  • Smart Punctuation Delays: Automatically adjusts timing for punctuation marks (periods, commas, colons)
  • Adaptive Word Length: Longer words get slightly more display time
  • Progress Tracking: Visual progress bar shows your reading position

⚙️ Customization Options

  • Speed Control: Adjustable reading speed from 100 to 1500 WPM (Words Per Minute)
  • Auto-Acceleration: Optionally increase reading speed automatically every 20 words (+0 to +10 WPM)
  • Font Size: Adjustable from 1.0 to 5.0rem for comfortable reading
  • Font Family: Choose between Inter, Monospace, or Dyslexic-friendly fonts
  • Multiple Themes: Light, Dark, and Sepia modes for different reading environments
  • ORP Toggle: Enable/disable the Optimal Recognition Point highlight

📝 Input Methods

  • Text Paste: Paste any text directly into the input area
  • File Upload: Support for TXT and PDF files (coming soon)
  • Sample Text: Pre-loaded demo text to try the app immediately

🎮 Playback Controls

  • Play/Pause: Start and stop reading at any time
  • Reset: Return to the beginning of the text
  • Progress Scrubbing: Click on the progress bar to jump to any position
  • Skip Forward/Back: Jump 10 seconds forward or backward in your reading

🚀 Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn

Installation

  1. Clone the repository:

    git clone https://github.com/Viniciusmq25/SpeedRead-Pro.git
    cd SpeedRead-Pro
  2. Install dependencies:

    npm install
  3. Run the development server:

    npm run dev
  4. Open your browser and navigate to:

    http://localhost:5173
    

Build for Production

npm run build

The built files will be in the dist directory, ready to be deployed to any static hosting service.

Preview Production Build

npm run preview

🎨 How It Works

SpeedRead Pro uses the RSVP technique, a scientifically-backed method for speed reading:

  1. Single Word Display: Only one word is shown at a time, eliminating the need for eye movement
  2. Fixed Focus Point: Your eyes stay in one place, reducing cognitive load
  3. Optimal Recognition Point: The most important character in each word is highlighted (or centered) for faster recognition
  4. Smart Timing: Words are displayed at intervals based on your selected WPM, with adjustments for punctuation and word length

The Science Behind ORP

The Optimal Recognition Point is typically:

  • 1-letter words: First character (index 0)
  • 2-5 letter words: Second character (index 1)
  • 6-9 letter words: Third character (index 2)
  • 10-13 letter words: Fourth character (index 3)
  • 14+ letter words: Fifth character (index 4)

This positioning helps your brain recognize words faster by focusing on the most information-rich part of each word.

🛠️ Technology Stack

  • React 19: Modern UI framework with hooks
  • TypeScript: Type-safe development
  • Vite: Fast build tool and dev server
  • Zustand: Lightweight state management with persistence
  • Tailwind CSS: Utility-first styling
  • Lucide React: Beautiful icon library

📁 Project Structure

SpeedRead-Pro/
├── components/
│   ├── Controls.tsx          # Play/pause/reset controls
│   ├── InputSection.tsx      # Text input and file upload
│   ├── ProgressBar.tsx       # Reading progress indicator
│   ├── RSVPDisplay.tsx       # Main word display engine
│   └── SettingsPanel.tsx     # Settings configuration
├── utils/
│   └── textProcessor.ts      # Text parsing and timing logic
├── App.tsx                   # Main application component
├── store.ts                  # Zustand state management
├── types.ts                  # TypeScript type definitions
└── index.tsx                 # Application entry point

🎯 Usage Tips

For Beginners

  1. Start with 250-300 WPM to get comfortable
  2. Keep ORP highlighting enabled to train your eyes
  3. Use Sepia theme if reading for extended periods
  4. Practice with shorter texts first

For Advanced Users

  1. Gradually increase to 400-600 WPM or higher
  2. Try disabling ORP once you're comfortable
  3. Use Auto-Acceleration to push your limits (+2 to +5 WPM recommended)
  4. Experiment with different fonts to find what works best

Best Practices

  • Take breaks every 20-30 minutes
  • Start each session at a comfortable speed
  • Focus on comprehension, not just speed
  • Use the progress bar to re-read difficult sections

🔮 Upcoming Features

  • Keyboard shortcuts (spacebar for play/pause)
  • Full PDF file support
  • Reading statistics and history
  • Multi-language support
  • Customizable color schemes
  • Word grouping options (2-3 words at a time)
  • Export reading sessions
  • Browser extension version

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is open source and available under the MIT License.

🙏 Acknowledgments

  • RSVP reading technique research and methodology
  • React and TypeScript communities
  • All contributors and users of SpeedRead Pro

📧 Contact

Vinicius - @Viniciusmq25

Project Link: https://github.com/Viniciusmq25/SpeedRead-Pro


Made with ❤️ for speed readers everywhere

About

This project is a high-performance speed-reading application built on the Rapid Serial Visual Presentation (RSVP) methodology, designed to train the brain for hyper-efficient information processing. By displaying text word-by-word at a fixed Optimal Recognition Point (ORP), the app eliminates the cognitive load of saccadic eye movements and sub-voc

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages