File
SMF·GOODLINKS
Received on
31.07.2026
Reviewed on
28.09.2026
Exhibits annexed
3
Questions
4

SMF·GOODLINKS

Can a prompt replace GoodLinks?

Read it later & RSS — read-later, bookmarks and RSS

Yes Verdict recorded on 28.09.2026 · Verified on 31.07.2026
Price
$0.42/moSource: apps.apple.com · Checked on July 31, 2026
Per year
$5.04
Build time
One sitting
Votes
0 votes
Yes (checked)AlmostNot yet

Exhibit tracking slip

Exhibit A The prompt
Exhibit B What you lose
Exhibit C Why people still pay: capture polish, sync, and content partnerships
Exhibit Q Questions

Verdict

GoodLinks is deliberately small: save a link, extract the text, tag it, read it, and never sign in to anything. That whole loop is one sitting, and unlike most entries in this category there is no service behind the paid app to be missing — it is a one-off purchase for a local application. What you give up is the Apple side: iCloud sync, the share sheet, and the Shortcuts actions that let the rest of your system talk to it.

Exhibit B — What you lose

Exhibit A — The prompt

Received on31.07.2026
Build a local-first read-later tool with a first-class automation surface. No account, no server, no sync.

Storage: SQLite in a documented location, holding the URL, title, author, published date, extracted text, tags, added date, read state, and highlights. The database is the product's contract with the rest of the system, so document its schema in the README and treat it as stable.

Saving: fetch the page with a descriptive user agent, honour robots.txt, run Readability, and store the result. On extraction failure, save the link with a clear unavailable state rather than storing a cookie banner. Never attempt to get past a paywall or a login.

Reading: a typography-first reader view with adjustable width, size and theme. Select text to highlight; a highlight can carry a note. Keyboard navigation throughout.

Organisation: tags with autocomplete, a starred flag, and full-text search across titles and extracted text using SQLite FTS.

The automation surface, which is the point of this build. Ship a CLI covering every operation the interface offers:

- add a URL, with optional tags, reading from an argument or stdin so a list of links can be piped in
- list, filtered by tag, read state, or a search term, with output as a table, JSON or plain URLs
- read, printing an article's extracted text to stdout so it can be piped into anything
- tag and untag, in bulk from a list of ids
- export, emitting the whole database as JSON or a folder of Markdown files

Every command must be scriptable: exit codes that mean something, JSON output on request, and no interactive prompt in any path. Document three worked examples in the README — saving every link from a Markdown file, exporting today's highlights into a notes folder, and a cron job that reports how many unread items are older than a month.

Also ship a bookmarklet and a small local HTTP endpoint bound to localhost so a browser can save without the command line.

Out of scope: sync of any kind, mobile apps, feed subscriptions, and any hosted service. Say in the README that the absence of a phone client is the real gap, and that the CLI is the compensation.

Opening prefills the prompt — press enter to run it.

Exhibit B — What you lose

  • B.1 iCloud sync and the iPhone and iPad apps
  • B.2 the system share sheet, which is how links get saved on a phone
  • B.3 the Shortcuts actions that wire it into the rest of iOS
  • B.4 the reading experience of a native app tuned for the platform

Prior art

Exhibit C — Why people still pay: capture polish, sync, and content partnerships

Because saving has to be effortless or it does not happen, and on a phone that means the share sheet. A tool you have to open and paste into is a tool you use for a fortnight.

Questions

Can I import my GoodLinks library?

Yes. GoodLinks exports as JSON including tags, read state and highlights, and all of it maps onto this schema. Extracted article text is not in the export, so the importer re-fetches, which means anything since taken offline arrives as a bare link.

Why build a CLI for a reading app?

Because it is the one thing a sandboxed native app cannot give you. GoodLinks has Shortcuts actions; a local SQLite file plus a scriptable command line lets you pipe articles into a summariser, cross-reference them with your notes, or bulk-retag five years of saves in one line.

What does it cost to run?

Nothing at all. It is a local application over a SQLite file with no keys, no server and no subscription, against a one-off app purchase and a small annual fee for the sync tier.

What is the one thing that does not survive the rebuild?

The share sheet. Almost every link worth saving is encountered on a phone, and the two-tap save is the entire reason a read-later app accumulates anything. Without it you save the links you happen to see at a desk, which is a much smaller and much duller list.

Receipt

Already built this yourself?