What people do in Speechify every day is simple: open a PDF, a web page or a book, press play, and follow the highlighted text at a speed they choose. Kokoro, a free open voice model, sounds close to the paid voices and runs on an ordinary laptop, so an agent can build that reader in one sitting. What you give up is the phone apps, the camera scanner for paper pages and the licensed celebrity voices. Exporting chapters as MP3 files covers most listening away from the desk.
Before you buildSpeechify's free plan only has robotic voices, but the Read Aloud built into Microsoft Edge uses natural voices at no cost. Try it before you build.
Build me a local read-aloud app to replace Speechify. Requirements: - Python 3.11 + FastAPI with a plain HTML/JS front end on http://localhost:5050; `uv run app.py` starts everything. - Voices: Kokoro-82M through the `kokoro` package, running locally on CPU or Apple Silicon. List every voice it ships; if OPENAI_API_KEY is set in .env, offer OpenAI's TTS voices as well. - Input: pasted text, a URL (main text extracted with trafilatura), PDF (PyMuPDF, dropping repeated headers, footers and page numbers), EPUB (ebooklib), DOCX (python-docx), and photos or scanned PDFs via tesseract OCR. - Reader: split into sentences, synthesise 3 sentences ahead, highlight the one being read, click any sentence to jump there. Speed 0.75x to 4x with pitch kept natural (preservesPitch), a voice picker, space to pause, arrows to skip. - Library: SQLite (stdlib sqlite3) at ~/ReadAloud/library.db with each document, its source and my last position; reopening resumes where I stopped. - Cache audio per sentence and voice in ~/ReadAloud/cache/ so re-reading is free. - Export any document to MP3, or to M4B with one chapter per section, using ffmpeg into ~/ReadAloud/exports/, so I can listen on my phone. - No accounts, no telemetry, local-first: nothing leaves the machine unless I add an API key. - Out of scope: mobile apps, a browser extension and AI summaries. - README: installing espeak-ng, tesseract and ffmpeg, the first-run model download (about 350 MB), and how long a chapter takes on a CPU-only laptop.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Speechify.
Add a Chrome extension (Manifest V3) to the read-aloud app in this folder. Requirements: - A toolbar button and a right-click menu item: "Read this page" and "Read selection". - Send the page URL or the selected text to the local server on http://localhost:5050 with a token generated by the server and kept in .env. - The server adds it to the library and opens the reader tab at the start. - If the server is not running, the popup says so. - Update the README with how to load the unpacked extension.
Turn the exports of the read-aloud app in this folder into a private podcast feed. Requirements: - Serve an RSS 2.0 feed with iTunes tags at /feed/<token>.xml listing every MP3 or M4B in ~/ReadAloud/exports/, newest first, with title and duration. - The token is random, stored in .env, and the files are only served with it. - Bind to 0.0.0.0 only when FEED_PUBLIC=true in .env. - Update the README with how to reach the feed from a phone over Tailscale and add it in Overcast, Pocket Casts or Apple Podcasts.
Add a phone scanning page to the read-aloud app in this folder. Requirements: - A mobile-friendly page at /scan with a camera input (<input type="file" accept="image/*" capture="environment">) that takes several photos in a row. - Straighten and sharpen each photo with OpenCV, run tesseract OCR, and join the pages into one document in the library. - Show the recognised text for a quick check before saving. - Update the README with how to open it from a phone over Tailscale (HTTPS is needed for the camera).
Add chapter summaries to the read-aloud app in this folder. Requirements: - A Summarise button on each document sends its text, one chapter at a time, to the Anthropic API (ANTHROPIC_API_KEY in .env). - Store a 5-bullet summary per chapter in SQLite and show it above the text. - A "Listen to summary" button reads the bullets with the current voice. - Never send a document unless I press the button. - Update the README with what leaves the machine.
Many of its users listen because reading is hard work for them, and Speechify is even sold through disability support schemes such as the UK's DSA and Access to Work. For someone who listens every day, a finished app on every device, with the place in each document kept in sync, is worth more than the fee, and the camera scanner and familiar voices are hard to give up.
Estimate · Kokoro runs on your machine, so listening costs nothing. An optional cloud voice through an API key costs cents per chapter. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0/user | $0/user | 10 robotic-sounding voices, speeds up to 1.5x, text-to-speech only. |
| Premium | $29/user | $11.58/user | 1,000+ voices in 60+ languages, up to 5x speed, Scan & Listen, AI summaries and chat, Google Drive, Dropbox and OneDrive imports, voice typing, AI podcasts. Premium voices are guaranteed for at least 150,000 words a month. |
The free plan reads aloud with 10 robotic voices at up to 1.5x speed.
Yes. An AI coding agent such as Claude Code, Codex or Cursor can build a usable personal version in one session with the prompt on this page, running on your own machine.
About $29 a month on the Premium plan, $348 a year (checked 2026-10-13).
iPhone, Android and Mac apps with your library and place synced between them; Scanning paper pages with the phone camera; Over a thousand voices, including licensed celebrity ones; The Chrome extension that reads any page or Google Doc; AI summaries, AI podcasts and voice typing. If any of those matter to you, keep paying.
Yes: OpenReader (open source), Readest (open source), abogen (open source).