Instapaper's core is small: fetch a page, strip it down to the article with Readability, store the text, and make it searchable and highlightable. An agent can build that on SQLite with FTS5 in one sitting, and a bookmarklet that posts the rendered page covers paywalled and logged-in sites. What you give up is the phone: native apps with offline sync and a share sheet, text-to-speech with AI voices and CarPlay, Kindle and Kobo delivery, and the connected accounts. If a phone share sheet matters to you, self-hosting Wallabag or Readeck is the shorter road.
Before you buildInstapaper Free already saves unlimited articles with folders and sync. You pay $5.99 for search, the permanent archive, PDFs and Kindle delivery.
Build me a personal read-it-later app to replace Instapaper Premium. Requirements: - Node.js 22 + TypeScript: a Fastify server and a React reader built with Vite. `npm start` serves http://127.0.0.1:4700; HOST in .env opens it to another interface (the README explains phone access through Tailscale or a tunnel). - Saving: POST /api/save with a URL, a paste box for several URLs, and a bookmarklet that sends the rendered page HTML so paywalled and logged-in pages still work. Fetch with `undici`, extract with jsdom + @mozilla/readability, sanitize with DOMPurify, store title, byline, site, lead image and reading time, and download images to ./data/images/. A failed extraction keeps the URL with a retry button. PDFs: save a PDF URL or upload a file, extract text with `pdfjs-dist`, show it in the same reader. - Storage: better-sqlite3 in ./data/reader.db: articles (clean HTML, plain text, status unread or archived, favourite, progress), folders, tags, highlights (quote, note, position) and an FTS5 index over title, byline and text that includes archived items. Nothing is deleted unless I delete it. - Reader: serif or sans, size and width controls, dark mode, scroll position saved per article, j / k / e / s shortcuts, and a play button that reads aloud with the browser's speechSynthesis. - Highlights: select text to highlight with an optional note; export an article's or a folder's highlights as Markdown. - Digest: an optional weekly EPUB of unread articles (`epub-gen-memory`) mailed through SMTP to a Kindle address set in .env, off by default. - Import: an Instapaper CSV export or a Netscape bookmarks file, re-fetching one URL per second with a progress bar. Export: a folder of Markdown files with front matter plus a JSON dump. - Single user with one password in .env (signed cookie). No accounts, no telemetry, local-first: the only outbound calls are fetching the pages I save and the optional SMTP send. - Out of scope: native mobile apps, a browser-store extension, AI voices, speed reading, saving X posts. - README: installing the bookmarklet, reaching the app from a phone, backing up ./data, and why sites that block servers need the bookmarklet.
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 Instapaper Premium.
Add a Manifest V3 browser extension to the read-it-later app in this folder. Requirements: - A folder ./extension that loads unpacked in Chrome and Firefox: a toolbar button sends the current page's URL and rendered HTML to POST /api/save. - The server URL and an API token are set on the extension's options page; add token auth to the API next to the cookie login. - Show a success or error badge on the button, and a context-menu item to save a link without opening it. - Update the README with install steps for both browsers.
Add RSS output to the read-it-later app in this folder. Requirements: - GET /feeds/<secret>/<folder>.xml returns an Atom feed of the 50 newest unread articles in a folder, with the full clean HTML in content. - Each folder gets a random secret URL that can be regenerated from the folder's menu. - Add an all-unread feed in the same way. - Escape titles and sanitize content before output. - Update the README.
Add housekeeping to the read-it-later app in this folder. Requirements: - A nightly job archives unread articles older than N days (N in .env, default 60) and writes a line about each to an activity log. - A daily email through the existing SMTP settings lists ten unread articles chosen at random from the last 90 days, each with a link to the reader. - Both can be switched off in .env; an archived article stays searchable. - Update the README.
The product people pay for is the phone: tap Share, the article is there offline on the train, read aloud in the car or on the Kindle. Search across years of saved reading and a copy that survives link rot come with that, and it needs no server of yours to keep running.
Estimate · Runs on a computer you already leave on, or a $5 VPS. The build is token usage on your agent plan.
Checked 2026-10-19 against Instapaper Premium's docs: 1, 2, 3, 4
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | Unlimited saved articles, folders, sync across web, iOS and Android, API access, 5 notes per month. |
| Premium | $5.99 | $5 | Full-text search across all articles including archived ones, permanent archive, PDF reader, unlimited notes, Kindle digests, AI voices and playlists on mobile, speed reading, ad-free website. |
Free saves unlimited articles, with folders, sync across web, iOS and Android, and API access for third-party apps.
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 $5.99 a month on the Premium plan, $71.88 a year (checked 2026-10-19).
Native iOS and Android apps with offline reading and a system share sheet; AI voices, text-to-speech playlists and CarPlay; Scheduled delivery to Kindle, Kobo and Boox; Saving posts from X and sending highlights to Notion, Evernote or Obsidian; A hosted permanent archive that needs no server of yours. If any of those matter to you, keep paying.
Yes: Wallabag (open source), Readeck (open source), Karakeep (open source).