note over you Open source · Python · TypeScript · Go

See how your code actually flows

vibesequence reads your code and draws every route, command and handler as a zoomable sequence diagram: who calls whom, in what order.

pip install vibesequence
vibesequence build .
reads every file, never runs it
calls in order, with if / loop / try
note over vibesequence

One static read, every flow

A call graph tells you what is connected. vibesequence keeps what it throws away: the order of calls, and the branch around each one.

01 YOUR CODE 02 VIBESEQUENCE 03 USER SEQUENCE DIAGRAM app/api/orders.py @router.post("/orders") 1 def create_order(payload): return svc.place(payload.items) 2 app/services/order_service.py class OrderService: def place(self, items): for item in items: self.repo.get(item.sku) 3 order = self.repo.create(items) 4 self.payments.charge(order) 5 return order app/repos/order_repo.py class OrderRepo(BaseRepo): def get(self, sku): ... def create(self, items): ... Calls are kept in source order, with the if / loop / try around them. 1 Extract every call, in source order, with its if / loop / try 2 Resolve self.repo.get → OrderRepo.get through imports and inheritance 3 Find entry points @router.post("/orders") → the flow POST /orders 4 Zoom & render pick lanes: package … function → a Mermaid sequence diagram User orders OrderService OrderRepo Payment POST /orders 1 place 2 loop for item in items get 3 create 4 charge 5 return 201 Created One tree, any zoom package module class function · click a call to zoom in · play it arrow by arrow VibeSequence

Swipe to follow the flow →

The engine in detail →
a zoomable sequence diagram
note over you

Read any flow like a story

Pick a route, press play, and follow it arrow by arrow. Zoom out to packages or in to a single function.

zoom

Four levels

Package, module, class or function. Click a blue call to open it on its own.

play

Step by step

Each step shows who calls whom and the file:line, one click from your editor.

languages

Python, TS, Go

FastAPI, Flask, Next.js, Express, net/http, Gin, Echo, Chi, Cobra.

Opening a flow, playing it step by step, switching zoom levels and zooming into a call in the vibesequence viewer
edits OrderService.place
+1 step · −1 removed
note over you, ai agent

See what your AI changed

Keep the viewer open while the agent works. New steps turn green, removed ones are listed, and “Play changes” walks just those.

show "POST /orders" --format text
one flow, with file:line
note over ai agent

Fewer tokens to understand code

Claude Code on the same tasks, with and without vibesequence. 42 runs, every answer graded.

−23%input tokens on “what happens when…” questions
8 → 4agent turns for the same question
−53%tokens on impact questions: one callers call, not 6–7 searches

Small edits cost 19% more: the agent still reads the files it changes. The win is understanding code before you touch it.

Read the benchmark →
pip install vibesequence
note over you, vibesequence

Get started

Python 3.10+. Builds are incremental: a rebuild only re-parses the files that changed.

PythonFastAPI, Flask, click, typerpip install vibesequence
TypeScript / JSNext.js, pages/api, Expresspip install "vibesequence[ts]"
Gonet/http, Gin, Echo, Chi, Cobrapip install "vibesequence[go]"
# in your project
vibesequence build .                 # parse the repo into vibesequence-out/
vibesequence serve                   # live viewer at http://127.0.0.1:8765
vibesequence install                 # teach Claude Code to use the flows
your codebase, mapped