Local-first active learning

Vault Coach

An Obsidian learning companion that connects source-grounded retrieval, practice, mastery feedback and a reviewable concept-evidence graph.

Period
2026 — present
Focus
Knowledge Systems · Agentic AI · Software Engineering
Core stack
TypeScript · Obsidian API · RAG · Knowledge Graphs

TL;DR

Problem
Search can retrieve a note without helping a learner practise or retain it. The product needed to connect answers to evidence and learning actions without silently turning model output into truth.
What I did
Implemented source-linked Q&A, assessment workflows, mastery views and review recommendations.
Result / limit
As of October 2026, the Obsidian plugin marketplace reported about 1,000 downloads and 158 regular users; GitHub reported 9 stars.
Vault Coach dashboard showing confirmed concepts, assessment coverage and local data health.
Product screenshot · local learning dashboard

01 · A

Problem

Search can retrieve a note without helping a learner practise or retain it. The product needed to connect answers to evidence and learning actions without silently turning model output into truth.

01 · B

Context

The plugin runs inside Obsidian, adapts to vault files and local stores, and uses a bundled multilingual embedding model in an isolated WASM worker.

02

Why it matters

A learning agent is useful only when learners can trace an answer to evidence, practise recall and decide which machine-proposed relations become trusted knowledge.

Explore technical detailsWhat made it hard · System path · Key trade-offs
02 · B

What made it hard

  1. 01

    Keep user knowledge in the vault unless a configured model call needs selected context.

  2. 02

    Preserve source locations across Markdown and text-based PDF chunks.

  3. 03

    Review model-proposed semantic relations before they affect the effective graph.

  4. 04

    Recover interrupted local writes and invalidate stale derived data.

03

My approach

System path

01

Index

Parse vault content and maintain incremental text/vector indexes

02

Retrieve

Fuse keyword and vector rankings while preserving source locations

03

Learn

Generate exams, record assessment facts and derive mastery views

04

Govern

Confirm, reject or undo proposed concept-evidence relations

Vault Coach beside a PDF, returning an answer with page-level source links.
Product screenshot · hybrid retrieval keeps answer and evidence together
Interactive Vault Coach graph with document, concept and tag nodes plus relationship status legend.
Product screenshot · machine proposals remain separate from confirmed relations

Grounded retrieval

Two rankings meet only after each has done its own job

Keyword search captures exact language, vector search captures semantic similarity, and reciprocal-rank fusion combines rank positions without pretending the raw scores share one scale.

01query

Question

User intent and current context

02lexical

Keyword rank

Exact terms and document language

03semantic

Vector rank

Bundled local embedding representation

04hybrid

RRF

Fuse rank positions, not raw magnitudes

05traceable

Answer + sources

Return passages with page/note links

  • TypeScript
  • Obsidian API
  • RAG
  • Knowledge Graphs
  • WASM
  • Vitest

Key trade-offs

01

RRF hybrid retrieval

Keyword and vector rankings stay independent before reciprocal-rank fusion; raw scores are not treated as one scale.

02

Candidates are not facts

Deterministic structure, model proposals, user decisions and the effective graph remain separate layers.

03

Facts before projections

Assessment records are authoritative; mastery and recommendations are reproducible derived views.

04 · A

My contribution

  • Implemented source-linked Q&A, assessment workflows, mastery views and review recommendations.
  • Built the concept-evidence graph with confirm, reject and undo gates for model-proposed relations.
  • Added incremental indexing, local integrity checks, backup recovery, tests and CI assets.

04 · B

What was implemented

  • Implemented an end-to-end learning loop from evidence retrieval to practice and governed graph updates.
  • Kept AI suggestions separate from approved graph facts through explicit user decisions.
  • As of October 2026, the Obsidian plugin marketplace reported about 1,000 downloads and 158 regular users; GitHub reported 9 stars.

Graph governance

Relationship extraction is a proposal workflow, not an automatic fact write

The effective graph contains deterministic structure and explicitly accepted relations. Rejected and pending proposals remain inspectable without becoming trusted knowledge.

01source facts

Deterministic structure

Documents, headings and explicit links

02pending

Model proposal

Candidate concept or evidence relation

03governance

User decision

Confirm, reject or undo

04trusted

Effective graph

Only accepted relations affect learning views

04 · C

Lessons learned

01

Local-first describes data ownership, not a promise that every configured model stays offline.

02

A knowledge graph becomes trustworthy through governance states, not by drawing more edges.

What I can share

This is my open-source Obsidian project. Its production path uses WASM rather than WebGPU. The public marketplace and GitHub figures describe reach, not learning effect.

Public sources

Obsidian plugin marketplace · October 2026 https://community.obsidian.md/plugins/vault-coachVault Coach on GitHub · October 2026 https://github.com/Wanjin5508/vault-coach