DEV Community

shane
shane

Posted on

๐Ÿš€ FlashRead: A Speed Reading App to Boost Productivity (Free Until 6/9!)

Hi DEV.to community! I'm an indie developer from Taiwan, passionate about solving productivity challenges for students and professionals. As someone buried under textbooks and notes, I built FlashRead, a speed reading app designed to help you read faster, retain more, and reduce stress. I'm thrilled to share it with you and offer free lifetime access (normally $9.99) until June 9, 2025. Here's the story behind FlashRead and how it works!

Why I Built FlashRead
As a student in Taiwan, I often struggled with the sheer volume of reading required for Chinese books. Traditional speed reading apps felt clunky or rushed comprehension, so I set out to create something intuitive, privacy-first, and tailored to different reading habits. FlashRead was born to make reading faster and more enjoyable without sacrificing understanding.

Core Features
FlashRead combines a unique interaction model with a clean, customizable experience. Here's what makes it stand out:

Press-to-Read Interaction: Press and hold the screen to speed through text at your desired pace; release to pause and review the last few words. The implementation uses SwiftUI gestures to detect user interactions, ensuring smooth control and reducing cognitive overload.
Stress-Free Reading: Text pacing is optimized based on research into eye movement and reading flow, minimizing strain. I used SwiftUI's animation APIs with Timer publishers to create fluid transitions between words, with advanced timing for different text types.
Multi-language Support: Paste any text (supports English, Chinese, and more) and start reading instantly. FlashRead uses NLTokenizer for proper word segmentation across languages, with special handling for mixed language content.
Beautiful Themes: Choose from a variety of professionally designed themes with dynamic color schemes. The theme system supports both light and dark modes, with premium options available.
Customization: Adjust reading speed (120-1200 WPM), font sizes, and history length to match your preferences. All settings are stored locally via UserDefaults.
Progress Tracking: Built-in stats show your actual reading speed and improvement over time, motivating you to keep going. The app even lets you resume unfinished reading sessions.

Technical Details
FlashRead is built with Swift and SwiftUI for a modern, responsive UI. Here are some key technical aspects:

Reading Engine: The core functionality uses a combination of Timer publishers and SwiftUI state management. Here's a glimpse at the reading control logic:

// Start reading from current position
func startReading() {
    readingState.paused = false
    readingState.isReading = true

    if readingState.wordsRead == 0 {
        readingState.readingStartTime = Date()
        readingState.totalReadingTime = 0
    }

    scheduleNextUnit()
}

// Pause reading
func pauseReading() {
    readingState.paused = true
    readingState.pauseStartTime = Date()

    // Update total reading time
    let activeReadingTime = Date().timeIntervalSince(readingState.readingStartTime)
    readingState.totalReadingTime += activeReadingTime

    updateHistoryText()
    timer?.cancel()
}
Enter fullscreen mode Exit fullscreen mode

Text Processing: The app intelligently processes text based on language detected, chunking content differently for English vs Chinese characters. Natural Language framework helps with proper tokenization.
Dynamic Theming: A sophisticated theme system with multiple predefined themes and custom options, supporting both dark and light modes with smooth transitions.
Privacy-First: FlashRead works 100% offline, with all reading data stored locally on your device. There's no tracking or data collection.
Persistent Sessions: Reading progress is saved automatically, allowing you to resume exactly where you left off.

Who It's For
FlashRead is perfect for:

Students preparing for exams with heavy reading loads.
Professionals who need to skim reports, emails, or technical docs quickly.
Book Lovers eager to clear their reading lists without losing comprehension.
Language learners practicing reading fluency in different languages.

Try It Out

App Store: https://apps.apple.com/app/id6745725776
Price: Free lifetime access (normally $9.99) until June 9, 2025
Platform: iOS
In-App Purchases: None โ€“ this promo unlocks full access

Let's Talk!
I'd love to hear your feedback! How's the press-to-read feature working for you? Any features you'd like to see added? Drop a comment below or DM me โ€“ I'll be reading every response. ๐Ÿ˜Š
Also, what's your go-to trick for staying focused or reading faster? As a developer, what features would you prioritize in a reading app?

Top comments (1)

Collapse
 
axrisi profile image
Nikoloz Turazashvili (@axrisi)
  • Overview: FlashRead is a speed reading app created to enhance reading efficiency and understanding while providing an enjoyable experience for students and professionals.

  • Background

    • Developed by an indie developer from Taiwan
    • Aimed to solve productivity challenges in reading
    • Offers free lifetime access until June 9, 2025 (normally $9.99)
  • Why FlashRead was Created

    • Personal struggle with demanding reading requirements
    • Prior apps were either clunky or compromised comprehension
    • Focus on intuitive and privacy-first design
  • Core Features of FlashRead

    • Press-to-Read Interaction:
      • Hold to read at chosen pace, release to pause
      • Utilizes SwiftUI gestures for smooth control
    • Stress-Free Reading:
      • Optimized pacing based on eye movement research
      • Uses Timer publishers for smooth transitions
    • Multi-Language Support:
      • Supports English, Chinese, and more
      • Handles proper word segmentation and mixed content
    • Beautiful Themes:
      • Various professionally designed themes
      • Supports both light and dark modes
    • Customization Options:
      • Adjust reading speed (120-1200 WPM) and font sizes
      • Local storage of settings via UserDefaults
    • Progress Tracking:
      • Tracks reading speed and improvement
      • Allows resuming of unfinished sessions
  • Technical Details

    • Built with Swift and SwiftUI for a responsive UI
    • Reading Engine:
      • Utilizes Timer publishers and SwiftUI state management
    • Text Processing:
      • Intelligent chunking of text based on language
      • Uses Natural Language framework for tokenization
    • Privacy-First Approach:
      • Functions entirely offline with no data tracking
    • Persistent Sessions:
      • Reading progress saved automatically
  • Target Audience

    • Students with heavy reading loads
    • Professionals needing to skim quickly
    • Book lovers wanting to enhance their reading efficiency
    • Language learners practicing fluency
  • Call to Action

    • Available on the App Store: FlashRead
    • In-App Purchases: None, full access available during promo

made with love by axrisi
axrisi.com