Contributing to SpeederReader

SpeederReader is free, open-source software and welcomes contributions of all kinds — bug fixes, new features, documentation improvements, and design feedback.

Getting Started

git clone https://github.com/your-username/speeder-reader.git
cd speeder-reader
npm install
npm start

Project Structure

speeder-reader/
├── App.tsx                      # Root navigator (Home → Reader)
├── src/
│   ├── screens/
│   │   ├── HomeScreen.tsx       # Native home (file picker, WPM, progress)
│   │   ├── HomeScreen.web.tsx   # Web home (Metro auto-resolves .web.tsx)
│   │   └── ReaderScreen.tsx     # RSVP reader (shared)
│   ├── components/
│   │   └── Logo.tsx             # SVG Archimedean spiral logo
│   └── utils/
│       ├── pdfParser.ts         # PDF/EPUB parsing + word list builder
│       ├── textParser.ts        # TXT/MD/HTML parsing
│       └── progress.ts          # AsyncStorage progress save/load
├── ampt-backend/                # Ampt project (static web hosting)
│   └── static/                  # Built web output (git-ignored)
└── docs/                        # Documentation

Guidelines

Building for Web

npm run build:web   # outputs to ampt-backend/static/

Philosophy

SpeederReader exists to help people read more books. Every design and engineering decision should be evaluated against that goal. Fast to load, easy to use, no friction, no distractions.