Readwise
Import highlights from user-exported files, review them with spaced repetition, and export notes
The core loop is buildable, but a dependable replacement becomes a real weekend or multi-day project. For Readwise, import highlights from user-exported files, review them with spaced repetition, and export notes. The hard boundary is broad source integrations, sync, daily review polish, and knowledge-tool exports, plus capture polish, sync, and content partnerships.
Build verification: not recorded. How we judge buildability
What you give up
- broad source integrations, sync, daily review polish, and knowledge-tool exports
- publisher bypasses
- cross-device mobile capture
- high-quality recommendation graph
- licensed full-text feeds
Why people still pay
People still pay for Readwise because people pay when capture works everywhere, reading state syncs instantly, and the archive remains clean without constant parser repairs. The recurring cost buys feed quirks, parsing, paywalls, canonical URLs, deduplication, images, search, sync, browser extensions, and publisher changes, not just the visible interface.
Your build guide
The stack, security requirements, and agent rules for a focused replacement.
Before you start
- A supported Node release, a writable local data directory and a separate backup location. Bind to localhost; remote use requires authentication and HTTPS first.
- Implementation components: Node.js, TypeScript and Express with server-rendered HTML and small browser modules. SQLite through better-sqlite3 with migrations, prepared statements and a single background worker.
- Scope boundary: broad source integrations, sync, daily review polish, and knowledge-tool exports; publisher bypasses
Use these project rules and optional skill references alongside the prompt. Review each skill before adding it to your agent; the AGENTS.md export includes the same guidance.
Optional external skill: web-design-guidelines — Review web interfaces for accessibility, keyboard focus, forms, navigation and interaction quality. Review its instructions and compatibility before use; it does not grant deployment, data-access or publication permission.
Optional external skill: sharp-edges — Review security-sensitive APIs and configuration for dangerous defaults and easy-to-misuse interfaces. Review its instructions and compatibility before use; it does not grant deployment, data-access or publication permission.
Project rule — data model: import batches, books/articles, highlight IDs, source locations, review schedules and note exports
Project rule — preserve this invariant: Repeated imports are deduplicated by source identity and content; a review schedule cannot manufacture reading progress.
Project rule — acceptance evidence: Import the same book export twice and retain one copy of each highlight; correcting a source location updates future exports without resetting review history.
Implementation plan
Phase 1
Scope and fixtures. Implement this bounded workflow: Import user-exported highlights, preserve their source locations and schedule a modest daily review. Let the reader annotate or archive a highlight and export selected notes to Markdown. Record prerequisites, select representative user-owned fixtures and document the unsupported features: broad source integrations, sync, daily review polish, and knowledge-tool exports; publisher bypasses
Phase 2
Durable model. Model import batches, books/articles, highlight IDs, source locations, review schedules and note exports Add migrations or a versioned document format, explicit validation, stable IDs and a visible import-error report. Preserve this rule: Repeated imports are deduplicated by source identity and content; a review schedule cannot manufacture reading progress.
Phase 3
Complete the first useful path. Implement the workflow's input, review and output interface, with clear controls and explicit empty/error states. Use short SQLite transactions and persist job state before starting work. Give retries stable operation IDs; report incomplete or unknown results instead of silently repeating them.
Phase 4
Permissions and integration failure. Reject unexpected origins and unbounded request bodies even on localhost. Keep credentials outside the database export and redact sensitive text from logs. Request integration credentials and permissions only for the enabled feature; show a disconnected state instead of mock results.
Phase 5
Portable handoff. Use a consistent SQLite backup and an attachment manifest. Export portable JSON/CSV, then restore to a new directory without overwriting the original data. Include setup, operating limits, fixture walkthrough and shutdown/restart instructions in the README.
Phase 6
Acceptance scenarios. Import the same book export twice and retain one copy of each highlight; correcting a source location updates future exports without resetting review history. Repeat the workflow after restart and with a denied permission or unavailable dependency; show recoverable failure rather than a success placeholder.
WORKING SLICE Import user-exported highlights, preserve their source locations and schedule a modest daily review. Let the reader annotate or archive a highlight and export selected notes to Markdown. Build this scoped Readwise-inspired workflow with a documented data model and visible failure states. Architecture - Node.js, TypeScript and Express with server-rendered HTML and small browser modules. - SQLite through better-sqlite3 with migrations, prepared statements and a single background worker. Prerequisites and limits A supported Node release, a writable local data directory and a separate backup location. Bind to localhost; remote use requires authentication and HTTPS first. Outside this release: broad source integrations, sync, daily review polish, and knowledge-tool exports; publisher bypasses Data model and correctness import batches, books/articles, highlight IDs, source locations, review schedules and note exports Invariant: Repeated imports are deduplicated by source identity and content; a review schedule cannot manufacture reading progress. Use short SQLite transactions and persist job state before starting work. Give retries stable operation IDs; report incomplete or unknown results instead of silently repeating them. Security and privacy Reject unexpected origins and unbounded request bodies even on localhost. Keep credentials outside the database export and redact sensitive text from logs. Recovery and export Use a consistent SQLite backup and an attachment manifest. Export portable JSON/CSV, then restore to a new directory without overwriting the original data. Implementation order 1. Phase 1 — Scope and fixtures. Implement this bounded workflow: Import user-exported highlights, preserve their source locations and schedule a modest daily review. Let the reader annotate or archive a highlight and export selected notes to Markdown. Record prerequisites, select representative user-owned fixtures and document the unsupported features: broad source integrations, sync, daily review polish, and knowledge-tool exports; publisher bypasses 2. Phase 2 — Durable model. Model import batches, books/articles, highlight IDs, source locations, review schedules and note exports Add migrations or a versioned document format, explicit validation, stable IDs and a visible import-error report. Preserve this rule: Repeated imports are deduplicated by source identity and content; a review schedule cannot manufacture reading progress. 3. Phase 3 — Complete the first useful path. Implement the workflow's input, review and output interface, with clear controls and explicit empty/error states. Use short SQLite transactions and persist job state before starting work. Give retries stable operation IDs; report incomplete or unknown results instead of silently repeating them. 4. Phase 4 — Permissions and integration failure. Reject unexpected origins and unbounded request bodies even on localhost. Keep credentials outside the database export and redact sensitive text from logs. Request integration credentials and permissions only for the enabled feature; show a disconnected state instead of mock results. 5. Phase 5 — Portable handoff. Use a consistent SQLite backup and an attachment manifest. Export portable JSON/CSV, then restore to a new directory without overwriting the original data. Include setup, operating limits, fixture walkthrough and shutdown/restart instructions in the README. 6. Phase 6 — Acceptance scenarios. Import the same book export twice and retain one copy of each highlight; correcting a source location updates future exports without resetting review history. Repeat the workflow after restart and with a denied permission or unavailable dependency; show recoverable failure rather than a success placeholder. Acceptance Import the same book export twice and retain one copy of each highlight; correcting a source location updates future exports without resetting review history. Use real source data or clearly labeled fixtures. Explain unsupported input and provider failures; do not fabricate analytics, delivery receipts, accuracy claims or security guarantees. Optional agent guidance Optional external skill: [web-design-guidelines](https://github.com/vercel-labs/agent-skills/blob/main/skills/web-design-guidelines/SKILL.md) — Review web interfaces for accessibility, keyboard focus, forms, navigation and interaction quality. Review its instructions and compatibility before use; it does not grant deployment, data-access or publication permission. Optional external skill: [sharp-edges](https://github.com/trailofbits/skills/blob/main/plugins/sharp-edges/skills/sharp-edges/SKILL.md) — Review security-sensitive APIs and configuration for dangerous defaults and easy-to-misuse interfaces. Review its instructions and compatibility before use; it does not grant deployment, data-access or publication permission. Project rule — data model: import batches, books/articles, highlight IDs, source locations, review schedules and note exports Project rule — preserve this invariant: Repeated imports are deduplicated by source identity and content; a review schedule cannot manufacture reading progress. Project rule — acceptance evidence: Import the same book export twice and retain one copy of each highlight; correcting a source location updates future exports without resetting review history.
$ open in your agent (prompt prefilled, you press enter), copy the prompt or copy or download AGENTS.md · generated from this app's build plan
prompt copied. want to know what dies next week?
new verdicts + top votes, weekly. free. one-click out.
Readwise pricing
| plan | monthly | annual (per mo) | what you get |
|---|---|---|---|
| readwise lite | — | $5.59/user | Daily Review, browsing/search and highlight sync; excludes tags, notes, exports and Reader.Annual rate is public; exact month-to-month rate was not exposed. |
| readwise full | $12.99/user | $9.99/user | Readwise Lite plus tags, notes, exports and the full Reader app.Annual total is $119.88. |
free tierno free tier; 30-day trial
billingmonthly + annual; the public page exposes only the annual Lite rate
hidden costsstudents and academics can receive 50% off; continuous subscribers may retain a legacy locked price
pricing sources checked 2026-08-13 · pricing source ↗
Questions about Readwise
Can you build your own Readwise with AI?
Partly. The core loop is buildable, but a dependable replacement becomes a real weekend or multi-day project. For Readwise, import highlights from user-exported files, review them with spaced repetition, and export notes. The hard boundary is broad source integrations, sync, daily review polish, and knowledge-tool exports, plus capture polish, sync, and content partnerships.
What does the Readwise build prompt cover?
The prompt starts with this scope: Import user-exported highlights, preserve their source locations and schedule a modest daily review. Let the reader annotate or archive a highlight and export selected notes to Markdown. Full-product capabilities excluded from the comparison include: broad source integrations, sync, daily review polish, and knowledge-tool exports; publisher bypasses; cross-device mobile capture. Follow the implementation plan and its prerequisites before expanding the build.
How do I use the prompt, AGENTS.md and agent skills?
Start with the Readwise prerequisites and stack, then copy the prompt into your coding agent. Save the project rules as AGENTS.md in the project root. Linked skills are optional packages or source instructions for specific tasks; review their current contents and install only those matching the chosen stack. A skill does not supply API credentials or verify the finished app.
How long will this Readwise project take?
The catalogue estimate is one sitting for the limited scope. Setup, integration approvals, debugging, deployment and ongoing maintenance can add time. This is an estimate, not a delivery guarantee.
What would I give up by replacing Readwise?
broad source integrations, sync, daily review polish, and knowledge-tool exports; publisher bypasses; cross-device mobile capture; high-quality recommendation graph; licensed full-text feeds. People still pay for Readwise because people pay when capture works everywhere, reading state syncs instantly, and the archive remains clean without constant parser repairs. The recurring cost buys feed quirks, parsing, paywalls, canonical URLs, deduplication, images, search, sync, browser extensions, and publisher changes, not just the visible interface.
What price is this guide comparing against?
The recorded Readwise Full plan is $9.99/mo (monthly), checked 2026-07-31. Check the linked pricing source before buying. Building your own also has hosting, API and maintenance costs; the recorded amount is not a guaranteed saving.
What can I use instead of building Readwise?
The prior-art section lists FreshRSS as starting points. Review their current scope, license and maintenance before adopting one.