Vibecode GoodLinks

track this build4 phases, 12 steps, beginner friendly
YES · one-shottable
price $0.42/moyou'd save $5.04/yrbuild time one sittingcategory 📖 readingreplaced by 0 people

The core loop is small enough for a capable coding agent to produce a useful local version in one sitting. For GoodLinks, save readable pages locally across Apple devices with tags and highlights. The hard boundary is native apple polish, icloud sync, shortcuts, and mobile capture, plus capture polish, sync, and content partnerships.

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

A read-later archive whose hard problems are keeping something readable when the page is gone, deciding when two addresses are the same article without breaking the ones that are not, and highlights that survive the page being rewritten.

Estimated effort: **weekend**. 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 | Next.js 15 with TypeScript and a local background worker | fetching has to keep happening while you are reading something else |
| Storage | SQLite for metadata, files on disk for raw bytes and extracted text | the raw bytes are the archive and a database row is an index over it |
| Extraction | A maintained readability implementation, versioned and re-runnable | extraction improves, so it must be something you can redo without refetching |
| Search | Full-text search over extracted text, rebuildable from the files | an index you can throw away is an index you can fix |
| Fetching | Conditional requests, per-host concurrency limits and a clear identifying agent | an archive that gets itself blocked stops being an archive without telling you |

## Before you start

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

- [ ] **Node.js 22 or newer** · free
  - Why: Runs the application, the worker and the consistency check.
  - Get it: nodejs.org or your version manager.
  - Verify: node --version prints v22 or higher
- [ ] **Somewhere with room to keep raw pages** · free, if you already back up a disk
  - Why: Keeping the bytes is the entire premise, and the archive grows steadily rather than dramatically, so the number to know is the average page size times your saving rate.
  - Get it: A directory on a disk you back up, sized from a week of real saving.
  - Verify: The disk report shows the total and the largest items
- [ ] **The agent string and the contact address in it** · free
  - Why: An archive that fetches anonymously gives a site operator no way to reach you and no reason not to block you.
  - Get it: Decide the name and a contact address, and put both in the configuration rather than the code.
  - Verify: A request log on a site you control shows the string and the address
- [ ] **Your existing subscriptions as OPML** (optional) · free
  - Why: Feed handling only shows its problems on real feeds, where one is gone, one redirects and one ignores conditional requests entirely.
  - Get it: Export OPML from whatever reader you use now.
  - Verify: Import produces the expected feed count and the first poll succeeds

## Quick start

Follow Phase 1 in `BUILD_PLAN.md`; it creates the project.

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

## Honest limits

This build deliberately does not replace:

- Paywall or authentication bypass.
- Native mobile clients with background sync.
- Licensed full-text feeds and recommendations.
- Full-page archival with every asset.
- native Apple polish, iCloud sync, Shortcuts, and mobile capture
- publisher bypasses
- cross-device mobile capture
- high-quality recommendation graph
- licensed full-text feeds

If one of those is essential to you, that is the reason to keep paying for GoodLinks, 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

People still pay for GoodLinks 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 you lose

xnative Apple polish, iCloud sync, Shortcuts, and mobile capture

xpublisher bypasses

xcross-device mobile capture

xhigh-quality recommendation graph

xlicensed full-text feeds

share on X ↗"I just replaced GoodLinks ($0.42/mo) with one prompt"
the escape hatch

Don't feel like building it? These folks already made it free.

KarakeepA polished read-later archive with highlights and mobile apps, provided you host it.28kaug 2026open source↗wallabagReadable saved pages, tags and highlights across devices; local Apple elegance becomes Docker.13kaug 2026open source↗

no votes, no pay-to-list · just what's real

the numbers

GoodLinks pricing

planmonthlyannual (per mo)what you get
goodlinks appcustom—1 universal Apple-platform purchase; includes all current features and 1 year of newly released premium features.
annual feature upgrade—$0.42Adds new premium features released during each additional 1-year period; previously unlocked features remain permanently available.

free tierno free tier and no trial

billingone-time $9.99 app purchase + optional $4.99/year feature-upgrade subscription; no required monthly plan

hidden costssummaries can require the user's own external LLM API key, creating separate provider charges; Apple regional pricing and tax may vary

verified 2026-08-13 · source ↗

questions
Vibecode GoodLinks

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

How much does GoodLinks cost?

GoodLinks costs about $0.42/month (Annual Feature Upgrade, checked 2026-08-13), which is $5.04 per year. That's what you save by replacing it with one prompt.

What do I lose by replacing GoodLinks?

Honestly: native Apple polish, iCloud sync, Shortcuts, and mobile capture; publisher bypasses; cross-device mobile capture; high-quality recommendation graph; licensed full-text feeds. If any of those are load-bearing for you, keep paying.

Is there an open-source alternative to GoodLinks?

Yes: Karakeep (A polished read-later archive with highlights and mobile apps, provided you host it.) wallabag (Readable saved pages, tags and highlights across devices; local Apple elegance becomes Docker.) The prompt is for when you want it exactly your way.