Obsidian Plugins
2 self-built plugins in daily use

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.
- A rebuild-index command reads every markdown note, embeds it locally, and stores the vectors in the plugin's own data file.
- Opening a note shows a "Semantic connections" panel, ranking the top matches by cosine similarity and excluding notes already linked in either direction.
- 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.

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.


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.
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.