Sami

HomeProjectsAboutBlog
← Back to Projects

Speeedy

A High-Performance, Local-First RSVP Reading Platform.

Personal Project
Lit
Vite
PWA
IndexedDB
View Live Site →

The Problem

Current digital reading experiences are hindered by 'information overload' and physical eye-tracking fatigue (saccades), which accounts for 10% of total reading time waste. Existing RSVP (Rapid Serial Visual Presentation) tools were often fragmented—some focusing on speed, others on privacy, but none offering a holistic environment for long-form consumption and skill-tracking.

Architecture

  • Scientific RSVP Engine: Developed a custom rendering system that aligns every word to its Optimal Recognition Point (ORP). I implemented 'Smart Speed' logic that dynamically adjusts word-timing based on character length and internal punctuation (dashes, quotes, commas) to preserve natural reading cadence at 500+ WPM.

  • Local-First Architecture: To ensure absolute privacy, I designed a zero-server storage model using IndexedDB. User libraries, reading streaks, and detailed WPM statistics live entirely in the browser, allowing the app to work offline as a PWA without sacrificing persistent profile features.

  • Accessibility-First Design: Integrated specialized modes for visual stress and neurodiversity, including Irlen Overlays (color tints), OpenDyslexic Support, and Bionic reading anchors. I leveraged the Web Audio API to provide subtle auditory pulses that anchor the reader’s rhythm, particularly helpful for focus.

  • Internationalization via Intl.Segmenter: Solved the 'fragmented script' problem by moving beyond simple whitespace splitting. Speeedy uses modern browser segmentation APIs to properly tokenize Arabic and CJK scripts, making high-speed reading possible for non-Latin languages.

  • Zero-Friction Viral Loops: Built a sharing system using URL-safe base64 encoding, allowing bloggers to embed 'One-Click Read' links that pre-load content into the reader without any account creation or signup walls.

Technical Challenges

  • Implementing 'Smart Speed' logic to adjust word-timing based on character length and internal punctuation to preserve natural reading rhythm

  • Dynamic multi-language support (Arabic, CJK) via Intl.Segmenter browser API

  • Robust offline-first architecture with persistent IndexedDB storage in a PWA context

  • Developing a high-polish, performance-focused UI with Lit and Vite for instant load times

Results

  • A high-polish, local-first reader that treats speed reading as a persistent skill

  • Scientific RSVP engine handling 500+ WPM with natural cadence and ORP centering

  • Successfully combined the performance of a native application with the accessibility of the web

  • Zero-server architecture ensures absolute privacy and offline accessibility


Speeedy – RSVP Reader Dashboard