Skip to content

Latest commit

 

History

History
50 lines (39 loc) · 1.88 KB

File metadata and controls

50 lines (39 loc) · 1.88 KB

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

  • Keep changes focused — one feature or fix per PR
  • Match the existing code style (TypeScript, functional components, hooks)
  • Test on both web (npm run web) and native (npm run ios / npm run android) when relevant
  • Do not introduce external analytics, telemetry, or tracking of any kind — user privacy is a core value of this project

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.