Your code is a map,
not a pile of text.
travsr reads your whole codebase, turns it into a graph (who calls whom, what depends on what), keeps that map up-to-date on every git commit, and lets an AI assistant walk the map instead of guessing from scattered snippets.
travsr is Google Maps for a codebase. Functions are places. A function calling another is a road between them. When you ask Google Maps “how do I get from A to B?”, it doesn’t re-read every street sign, it already has the road network and just traverses it. travsr does the same for code: it builds the road network once, then answers questions by following roads.
The problem it solves
Today most AI coding tools use “vector search”: they chop your code into chunks, convert each chunk into a list of numbers, and when you ask a question they fetch the chunks that look similar. That’s like finding directions by grabbing a handful of random street-view photos that resemble your destination. It wastes words (tokens) and the AI often invents connections that don’t exist (“hallucinations”).
The old way: text chunks
Search by fuzzy similarity over text. No idea what actually calls what. The AI guesses structure. More tokens, more mistakes.
vector RAGThe travsr way: a real graph
Search by following real edges the compiler-grade parsers found. The AI sees true call paths, so it works from fewer, more relevant tokens and does not have to invent structure that is not there.
graph traversalSee it once
Here is a tiny real-world example used throughout this whole site: an online payment flow. Each circle is a function; each arrow is a call. Hover or tap the buttons, this exact graph is what every algorithm below operates on.
This is the graph travsr stores in .travsr/graph.db. Click a button to highlight a real query.
What this site covers
Five short chapters. Each explains a piece of how travsr actually works today, grounded in the source code, with an interactive picture for every idea.
Code as a Graph
What a “node”, an “edge”, and a globally-unique address (VName) really are.
Indexing Pipeline
How a git commit becomes a fresh graph, Tree-sitter + LSIF, incremental by file hash.
The Algorithms
PPR, knapsack, PCST, k-core, BM25, animated, with the real constants from the code.
Semantic Search
The newest feature: meaning-based search that only seeds the graph walk.
Architecture
The 15 Rust crates, the strict no-cycles rule, and the 23 MCP tools.
The 7 principles
Algorithms first / LLM last · Always fresh · Local first · MCP-only · free-tier cloud · ARM64 · no unsafe Rust.