Projects BibleWeb Notes Auto-connections (via cross-refs)
Planned

Auto-connections (via cross-refs)

Area: Notes Milestone: v1

Context

Problem: Users may have notes on verses that are thematically related (e.g., John 3:16 and Romans 5:8) but don't know about each other's notes. The cross-reference data could automatically surface these connections.

Solution: Automatically suggest related notes by checking if the current noted verse shares cross-references with other noted verses. Show as a "Related notes" section below the note content.

Not included: Automatic link creation. This shows suggestions — users manually decide whether to create explicit links.

Functional

Expected user flow:

  1. User opens a note on a verse (e.g., John 3:16)
  2. Below the note content, sees a "Related notes" section
  3. Lists other notes on verses that share cross-references with John 3:16 (minVotes=3)
  4. User can click a suggested note to view it, or link it manually

Edge cases:

  • Only shows notes the user has written (not other users' notes)
  • Uses cross_references table with minVotes=3 for quality filtering
  • Empty state if no related notes found

UX & Design

Placement: Below note content in the note editor, before the manual links section.

Cards: Same compact format as linked notes — reference + content preview.

Visual distinction: Suggested connections should look different from manually linked notes (e.g., lighter styling, "Suggested" label).

Technical

Implementation:

  • Query cross_references for verses sharing refs with the current noted verse (minVotes=3)
  • Filter those target verses against the user's existing notes
  • Display matching notes as suggestions

Reference: BibleGame NotesView.cs had a similar auto-connection feature.

Files:

  • apps/web/src/lib/components/bible/NoteEditor.svelte (modify)
  • apps/web/src/lib/server/queries/notes.ts (add auto-connection query)

Status

Current: PLANNED Milestone: v1 Priority: Medium — smart feature connecting notes and cross-references

Dependencies:

  • Requires: notes system (DONE), cross_references data (DONE)