Vibecode Pocket

track this build6 phases, 12 steps, beginner friendly
YES · one-shottable

🪦 Pocket shut down on July 8, 2025. The verdict below is now a post-mortem.

price was $4.99/mobuild time one sittingcategory 🔖 read it laterreplaced by 0 people

Save a URL, fetch and clean the article, store it, sync a list. Readability parsing is a solved library problem and the rest is a table. Pocket dying is the argument for owning this: the code was never the hard part, keeping the service alive was.

the project pack5 files · written for this build, step by step
README.md
# Pocket · indie build

A read-it-later service to replace the Pocket that no longer exists: save from a bookmarklet or your phone's share sheet, extract the article with Readability, read it cleanly, tag and search it, import your Pocket export, export everything as JSON, and read offline. This time the reading list is yours.

Estimated effort: **one sitting**. Work `BUILD_PLAN.md` top to bottom · every phase ends in a check that has to pass before the next one starts.

## Stack

| Part | Choice | Why |
| --- | --- | --- |
| Runtime | Node 22, node:http and node:sqlite | save, extract, list |
| Extraction | @mozilla/readability with jsdom | the Firefox Reader View engine |
| Search | SQLite FTS5 | full text over everything you saved |
| Hosting | A VPS behind Caddy | the phone share target needs a public HTTPS URL |

## Before you start

Have every one of these ready. The plan assumes them from step one.

- [ ] **Node.js 22 or newer** · free
  - Why: Everything in this build runs on it: the server, the scripts, the tests.
  - Get it: Download the LTS installer from nodejs.org, or install with your package manager (brew install node, or nvm install 22). Restart the terminal afterwards.
  - Verify: node --version prints v22 or higher
- [ ] **A terminal and a code editor** · free
  - Why: Every step below is a command you type or a file you edit.
  - Get it: VS Code (code.visualstudio.com), Cursor or Zed. Open a folder for the project and use the editor's built-in terminal.
  - Verify: You can open a folder and run a command in its terminal
- [ ] **Git** · free
  - Why: History for your code, and the way most hosts deploy.
  - Get it: Install from git-scm.com or with your package manager, then run git init in the project folder once it exists.
  - Verify: git --version prints a version
- [ ] **Your Pocket CSV export, if you made one** (optional) · free
  - Why: Phase 5 imports it. The export window closed in November 2025.
  - Get it: The CSV Pocket emailed you, if you exported before the shutdown.
- [ ] **A phone to install the PWA and use the share sheet** · free
  - Why: Phase 2 saves from the share sheet.
  - Get it: Android Chrome supports share targets fully; iOS Safari with the site added to the home screen.
- [ ] **A small always-on server (VPS)** (optional) · about $5 a month
  - Why: This needs one process running all the time with a public address.
  - Get it: Hetzner Cloud (from about 4 EUR), DigitalOcean or Fly.io. Ubuntu 24.04, the smallest size. You need SSH access and a public IP. Only needed for the deploy phase; develop locally first.
- [ ] **A domain or subdomain** (optional) · roughly $10 a year, or free on an existing domain
  - Why: read.yourdomain.com
  - Get it: Register at Cloudflare Registrar, Porkbun or Namecheap, or use a subdomain of one you already own. You add one DNS record in the deploy phase.
- [ ] **Caddy on the server** (optional) · free
  - Why: Automatic HTTPS in front of the Node process. Without TLS the browser features this relies on (and your visitors' trust) do not work.
  - Get it: On the VPS: follow the install steps at caddyserver.com/docs/install for Ubuntu. One Caddyfile with your domain and a reverse_proxy line is the whole config.
  - Verify: caddy version prints a version on the server

## Quick start

```sh
mkdir reader && cd reader && git init && npm init -y && npm pkg set type=module && npm install @mozilla/readability@0.5 jsdom@25 sanitize-html@2
mkdir -p data && cp .env.example .env
```

Then copy `.env.example` to `.env` and fill in the values it documents.

## Honest limits

This build deliberately does not replace:

- Native apps, the recommendation feed, text-to-speech.
- the mobile apps with offline sync
- the recommendation feed
- text-to-speech
- someone keeping it online (though that turned out not to be guaranteed)

If one of those is essential to you, that is the reason to keep paying for Pocket, and the README should say so rather than pretend.

$ choose a build depth, inspect the files, then open the complete pack in your agent

why people still pay

They no longer can. Wallabag, Readwise Reader and self-hosted options absorbed the users; the lesson is that a reading list is a file you should own.

what you lose

xthe mobile apps with offline sync

xthe recommendation feed

xtext-to-speech

xsomeone keeping it online (though that turned out not to be guaranteed)

prior art · use these instead of building, if you'd ratherwallabagself-hosted read-it-later, imports Pocket exportsReadabilityarticle extraction library from Firefox Reader View
share on X ↗"I just replaced Pocket ($4.99/mo) with one prompt"
questions
Vibecode Pocket

Yes. A competent AI coding agent (Claude Code, Codex, Cursor) can build a usable personal Pocket replacement in one session with the prompt on this page. It runs on your own machine or server with no subscription.

How much does Pocket cost?

Nothing anymore: Pocket shut down on July 8, 2025. Before that it ran about $4.99/month.

What do I lose by replacing Pocket?

Honestly: the mobile apps with offline sync; the recommendation feed; text-to-speech; someone keeping it online (though that turned out not to be guaranteed). Since the product is gone, these gaps are now everyone's problem.

Is there an open-source alternative to Pocket?

Yes: wallabag (self-hosted read-it-later, imports Pocket exports), Readability (article extraction library from Firefox Reader View). Using prior art is also vibecoding; the prompt is for when you want it exactly your way.