Personal Project

Obsidian Plugins

2 self-built plugins in daily use

Role

Plugin Developer

Company

Personal Project

Timeline

Ongoing

Semantic Search plugin panel showing ranked connections by similarity score.
01: Semantic Search

Local-First by Design

Built to solve a real problem: a fast-growing personal knowledge vault where genuinely related notes stayed unlinked simply because nothing surfaced the connection. Rather than reach for a cloud AI API, I built it to run entirely on-device using transformers.js, cached locally after the first download, with no API calls and nothing leaving the machine.

  1. A rebuild-index command reads every markdown note, embeds it locally, and stores the vectors in the plugin's own data file.
  2. Opening a note shows a "Semantic connections" panel, ranking the top matches by cosine similarity and excluding notes already linked in either direction.
  3. Re-indexing only re-embeds notes that changed, checked by modification time.

Building it meant root-causing a genuine environment-detection bug in a third-party library, which misdetected Node versus browser runtime inside Electron, rather than working around it blind. I applied my own design-review process to the plugin's own interface before considering it finished.

02: Linked Mentions Inline

Solving the Same Problem, Differently

A second plugin tackling vault connectivity from the opposite angle: instead of semantic similarity, it watches backlink count. Once a note crosses a configurable mention threshold, default ten incoming links, the plugin writes those backlinks into the note body as plain wikilinks under a configurable heading, so heavily-referenced notes get their connections surfaced automatically rather than needing manual cross-linking. Configurable heading text and folder exclusions keep it from touching notes such as templates or daily logs where the behaviour isn't wanted.

03: Rationale

Why Two Tools, Not One

Semantic Search and Linked Mentions Inline solve the same underlying problem, a note's real connections staying invisible as a vault grows, from genuinely different mechanisms: meaning-based similarity against explicit link-count thresholds. Building both, rather than settling for one, reflects a broader pattern of building the tool that's actually missing rather than adapting a workflow to whatever's already available.

Outcome

The Impact

  • Semantic Search

    Surfaces notes that are semantically related but not yet linked, running entirely on-device with no cloud dependency.

  • Linked Mentions Inline

    Automatically writes a note's backlinks into its body once it crosses a configurable threshold.

  • A pattern, not a one-off

    Two tools solving the same underlying problem, surfacing connections in a growing personal knowledge base, from two different angles.

Next case studySmplicare Fall Prediction →