shouldivibecodeit

Should I vibe codeReadwise?

Import highlights from user-exported files, review them with spaced repetition, and export notes

Import your own highlights, resurface them on a schedule. Genuinely a small program.

?

Their verdict, the Readwise Full price and the build-time estimate come from their entry, MIT-licensed. Checked 2026-08-03.

Can you build it?asked by canivibecodeit.com ↗KINDAweekend project · one sitting
?

Our verdict, the regret score and everything below it. Editorial and unsponsored — nobody can pay to be moved.

Should you ship it?asked by usDEMO ONLYvibe the v0, throw it away.

The honest answer

why the verdict is what it is

The core loop is a parser and a spaced-repetition queue. The integrations breadth is what you are renting, so build it if you only use one or two sources.

What actually breaks

not "if". the specific failures.

  • The integrations, which are the product — every source has its own export format, and each one changes on its own schedule
  • Deduplication across re-imports, so the same highlight arrives four times with slightly different whitespace
  • Highlight identity, since sources rarely give stable ids and text-based matching breaks when you edit a note
  • Spaced repetition scheduling, which is an algorithm with parameters, not a random daily selection
  • The habit itself, because a review tool nobody opens is a database of things you once underlined
and then, at 3am

You re-import your Kindle highlights because you finished a book. The export contains everything, as it always does, and your matching is on exact text — but the file now has a different line-ending convention after a device update. Every highlight you already had is imported again as new. Your review queue, which was a manageable dozen a day, is now four thousand items, half of them duplicates of the other half, and the daily habit you were building dies that morning.

Is that you?

the verdict is a default, not a law

ship it if
  • Import is idempotent and you have tested re-importing the same file twice
  • It covers one source you actually use rather than every source that exists
  • Review scheduling uses an established algorithm rather than a random pick
don’t ship it if
  • Re-importing the same export creates duplicates
  • You are matching highlights by exact text with no normalisation
  • You are building integrations for sources you do not personally use
  • Nothing preserves your notes when a highlight is re-imported

If you build it anyway

the checklist, then the prompt that enforces it

  1. Make import idempotent and test it by importing the same file twice. This is the failure that kills the habit, and it is entirely preventable.
  2. Derive a stable identity per highlight — source, location, and a hash of normalised text — so whitespace and line-ending changes do not create duplicates.
  3. Normalise aggressively before matching: whitespace, quotes, dashes, line endings.
  4. Keep your own notes separate from imported text, so a re-import never overwrites something you wrote.
  5. Use an established spaced repetition algorithm with documented parameters rather than sampling at random.
  6. Build one integration well. Sources change formats independently and each is an ongoing commitment.
the guardrail prompt
Before you build a highlights and review tool, apply these and push back if I ask you to break them.

1. Make import idempotent before anything else, and prove it by importing the
   same export file twice and showing the item count is unchanged. Tell me that
   duplicate explosion on re-import is what kills these tools — the review
   queue becomes unusable overnight and the habit does not survive it.
2. Derive a stable identity per highlight from source, location and a hash of
   normalised text. Normalise whitespace, line endings, quote characters and
   dashes before hashing.
3. Store my own notes and tags separately from imported content, so a re-import
   can update the source text without touching anything I wrote.
4. Use an established spaced repetition algorithm with parameters I can see and
   tune. Do not select items at random and call it review.
5. Ask me which sources I actually use, and build one properly. Each
   integration is a permanent commitment to a format that changes without
   notice.
6. Handle partial and interrupted imports safely — resumable, with no partial
   state left behind.
7. Cap the daily review queue to a sustainable number and explain the backlog
   policy, because an unbounded queue is abandoned rather than cleared.
8. Keep everything exportable as plain text or Markdown from the start.
9. Out of scope unless I ask: article capture, PDF annotation, browser
   extension, mobile app, sharing.
paste this before you build — not after something breaks23 lines · 1452 chars

That one keeps you out of trouble. For the prompt that actually builds it, canivibecodeit.com has one.

their build prompt ↗

Or don’t build it

the boring option, and the way back out

just pay for it

$9.99 a month is buying integrations with a dozen sources and someone else maintaining them as formats shift. If you use one source and want a personal review habit, building it is a good project — provided the import is idempotent from day one.

$9.99/mo is cheaper than your weekend.

your exit plan, if you already built it

Export highlights with their source metadata and your own notes as Markdown on a schedule. These accumulate over years from sources you may no longer have access to, which makes the local copy more valuable than the tool that gathered it.

prior art · someone already did this
FreshRSS

Mature open-source RSS reader with feeds, filters, and self-hosting support.

Questions

Why is idempotent import singled out as the make-or-break?

Because it fails silently and catastrophically at the same time. Nothing errors — you simply have twice as many highlights as before, then four times. The review queue is the product, and once it fills with duplicates the daily habit stops. Unlike most bugs here, this one ends the tool's usefulness immediately.

Does the spaced repetition algorithm really matter?

It matters for whether reviewing feels worthwhile. Random selection surfaces things you just saw and buries things you have forgotten, which makes the daily review feel arbitrary. An established scheduling algorithm is not difficult to implement and is the difference between a habit and a novelty.

did you build it?

Every week, someone ships something they shouldn’t have.

New verdicts, the worst thing that landed in the trap, and the occasional incident report. No other email, ever.

also on the regret index
Raindrop.ioSHIP IT

Save a URL, tag it, search it. This has been a solved weekend since 2004.

PinboardSHIP IT

A fast private bookmark archive is a table, a tag index and some restraint.

last reviewed 2026-08-03 · verdict is editorial and unsponsored · shared entry data from canivibecodeit under MIT · not legal advice