Opyt

Opyt vs building it yourself

The retrieval is a weekend. The ingesters and the calibration are the months.

For a competent engineer this is the alternative that actually holds up, and it deserves a straight answer rather than a sales one. You could build this.

What you would be building is not the retrieval, since hybrid search over SQLite is a weekend. It is the acquisition layer and the accumulated calibration: X pagination that terminates correctly, browser-session capture, cross-platform identity verification through links a person attests to, PDF extraction floors per page, spend previews, fail-safe skip semantics, and ranking floors that were measured rather than guessed.

At a glance

OpytBuilding it yourself
RetrievalHybrid search, already tunedA weekend
X and Substack ingestersTerminate on 'no new item', not on the cursorThe months
Identity across platformsUnion-find on attested links; never merges on shared attestations aloneYours to design
Your back catalogBackfilled on first importStarts empty
OpinionsPerson-level ingestion, no synthesis, no authoringWhatever you choose
LicenceMIT; read or fork every linen/a

Where building it yourself is better

  • It fits exactly your sources and nothing else.
  • If X and Substack are not among your sources, the hard part disappears and the build is small.
  • No inherited opinions: Opyt insists on person-level ingestion, no synthesis layer and no authoring.
  • You learn the domain properly, which is worth something on its own.

Where Opyt is better

  • It exists today, it is MIT, and you can read every line before trusting it.
  • A corpus you start now is empty. Opyt backfills years of your own history on the first import.
  • X pagination terminates on 'this page added no new item', not on the cursor, because X returns a fresh bottom cursor forever, so a cursor-driven loop never ends. A page cap of 100 is a runaway backstop that logs loudly; it is never a silent stop.
  • Entity resolution merges two profiles only when one's attested links hit the other's self-declared set, by union-find. It never merges on shared attestations alone, which is the defense against someone linking to a person they are not.
  • PDF extraction runs two floors, because they answer different questions: 500 characters total asks whether there is a body at all, and 200 characters per page asks whether the whole document arrived. Total length cannot tell a 20-page scan whose only text layer is a watermark from a one-page note, and a false “complete” is permanent under dedup. The per-page value came from 505 live PDFs where the distribution is bimodal: 15 image-only scans at 29-31 characters per page, then nothing at all until 787.7, then 490 genuine documents up to 8,089. Any value between 100 and 500 classifies all 505 identically.
  • Every paid path previews before it spends: confirm=False is the default and writes nothing. Every failure skips rather than writes. A partial vector list propagates so the caller drops that document whole.

Which one

Pick building it yourself if

  • Your sources are not X or Substack
  • You want a different data model
  • The build is the point

Pick Opyt if

  • You want the corpus, not the project
  • Your history is on X and Substack
  • You would rather fork than start

Fork it if it is close. What the months buy you is the ingesters and the calibration; the search itself is the cheap part.

install Opyt free, MIT, five minutes

Opyt vs Claude on its ownYour existing AI assistant, out of the box
Opyt vs Hermes Agent + cronSelf-hosted autonomous agents on a schedule
all comparisonsevery category, side by side
useopyt.comwhat Opyt is for
hello@useopyt.comquestions and feedback
© 2026 Opyt Built with ❤️ in New Jersey MIT Use cases Compare Docs GitHub