|
1 | 1 | # KestrelReader |
2 | 2 |
|
3 | | -**Live app:** [https://kestrel-reader.vercel.app/](https://kestrel-reader.vercel.app/) |
| 3 | +KestrelReader is a local-first Rapid Serial Visual Presentation reader designed to make reading digital files easier and less distracting. It serves words to a fixed point on your screen sequentially, allowing you to read without the fatigue of moving your eyes across a page. This project is built primarily as a focused, personal utility for readers who need a quiet environment to process text. |
4 | 4 |
|
5 | | -KestrelReader is a local-first Rapid Serial Visual Presentation reader designed to make reading digital files easier and less distracting. It serves words to a fixed point on your screen sequentially, so you can read without moving your eyes across the page. The web app works in the browser (installable as a PWA from that URL). A Chrome extension build is published on [GitHub Releases](https://github.com/OrhoDev/KestrelReader/releases). |
| 5 | +If you want to use KestrelReader without building it from the source code, the live web application is hosted at [kestrel-reader.vercel.app](https://kestrel-reader.vercel.app/). You can also find compiled browser extension zip files on our Releases page. |
6 | 6 |
|
7 | | -## Idea |
| 7 | +## Core Philosophy |
8 | 8 |
|
9 | | -KestrelReader is built on the idea that reading software should be a quiet utility rather than a noisy service. It does not require you to create an account, does not track your reading habits, and does not send your documents to external servers. All text processing, including PDF and EPUB parsing, happens entirely on your device. |
| 9 | +KestrelReader is built on the idea that reading software should be a quiet utility rather than a noisy service. It does not require you to create an account, does not track your reading habits, and does not send your documents to external servers. All text processing, including PDF and EPUB parsing, happens entirely on your local machine. |
10 | 10 |
|
11 | | -The reader adjusts playback speed based on punctuation and word length. When paused, a side-by-side context panel shows surrounding text so you can recover your place quickly. |
| 11 | +## Using the Application |
12 | 12 |
|
13 | | -## Use |
| 13 | +To use KestrelReader directly in your browser, simply visit the live web application. If you prefer to install it on your device, use your browser's native install option to add the PWA to your home screen or desktop. |
14 | 14 |
|
15 | | -| Platform | How | |
16 | | -|----------|-----| |
17 | | -| **Web / PWA** | Open [https://kestrel-reader.vercel.app/](https://kestrel-reader.vercel.app/). Use your browser’s install option to add it to your home screen or desktop. | |
18 | | -| **Chrome extension** | On [Releases](https://github.com/OrhoDev/KestrelReader/releases), download `kestrel-extension-v*.zip`, unzip it, then in Chrome go to `chrome://extensions` → Developer mode → **Load unpacked** → select the unzipped folder. | |
19 | | -| **Desktop (Tauri)** | Not published on Releases yet. Build from source (see below); requires Rust. | |
| 15 | +To use the browser extension, download the compiled zip file from the Releases page on GitHub and unpack it on your computer. Open your browser's extension management page, enable developer mode, select the option to load an unpacked extension, and choose the unzipped folder. |
20 | 16 |
|
21 | | -## Get started (development) |
| 17 | +## Getting Started with Development |
22 | 18 |
|
23 | | -You need **Node.js** (20+ recommended). **Rust** is only required if you want to build the Tauri desktop app. |
| 19 | +To set up KestrelReader locally from this source code, you will need Node.js installed on your computer. Rust is only required if you want to compile and build the native desktop application. |
24 | 20 |
|
25 | | -Clone the repository, then from the project root: |
| 21 | +Start by cloning this repository to your machine. Once cloned, navigate into the project directory and run `npm install` |
| 22 | +From there, run `npm run dev`. |
26 | 23 |
|
27 | | -```bash |
28 | | -npm install |
29 | | -npm run dev |
30 | | -npm run check |
31 | | -npm run build |
32 | | -npm run build:web |
33 | | -npm run build:extension |
34 | | -``` |
| 24 | +To compile the browser extension, run `npm run build:extension`. You can load this `dist-extension` folder directly into your browser via developer mode. |
35 | 25 |
|
36 | | -**Desktop (optional):** with Rust installed, run `npx tauri build` from the project root (uses `src-tauri/` and outputs installers under `src-tauri/target/release/bundle/`). |
37 | | - |
38 | | -**Extension locally:** after `npm run build:extension`, load the `dist-extension/` folder via **Load unpacked** on `chrome://extensions`. |
| 26 | +To compile the native desktop application, ensure you have Rust installed and run `npx tauri build` from the project root. |
39 | 27 |
|
40 | 28 | ## License |
41 | 29 |
|
42 | | -This project is licensed under the MIT License. You are free to use, modify, and distribute the code as you see fit. |
| 30 | +This project is licensed under the MIT License. You are free to use, modify, and distribute the code as you see fit. |
0 commit comments