Dependency Graph

A live, interactive graph of how your backend components connect — built automatically from runtime telemetry.

What It Shows

The graph visualizes four types of nodes and the connections between them. Every edge represents an observed runtime dependency — brakit doesn't guess from source code, it traces actual traffic.

Action
A user action (page navigation, form submit). The entry point into a flow.
Endpoint
An API endpoint your app serves. Connected to the actions that trigger it and the tables/services it calls.
Table
A database table your endpoints query. Shows which endpoints read from or write to each table.
External Service
A third-party API or service your app calls via fetch. Stripe, SendGrid, internal microservices, etc.

Overlay Layers

Switch between overlay layers to highlight different aspects of your backend. Each layer colors and sizes nodes differently.

Auth Security
Highlights endpoints with security findings — exposed secrets, tokens in URLs, or missing auth headers.
Performance
Colors nodes by response time. Fast endpoints are green, slow ones shift to red. Spot bottlenecks at a glance.
Issues
Shows which nodes have open findings — N+1 queries, duplicate calls, or security violations.
Heat
Node size and color intensity reflect traffic volume. See which parts of your backend are hit most.

Flow Tracing

Click any node in the graph to trace its connections. The graph highlights the full path from action to endpoint to table or external service. This makes it easy to understand the blast radius of a change — which tables does this endpoint touch? Which actions trigger this query?

The graph supports multiple navigation methods:

  • Drag — Click and drag nodes to rearrange the layout
  • Zoom — Scroll to zoom in and out
  • Minimap — Use the minimap in the corner for orientation in large graphs
  • Search — Type to filter nodes by name
  • Keyboard — Arrow keys to navigate between nodes

How the Graph Is Built

The graph is constructed from runtime telemetry as your app handles requests. When brakit sees a request to POST /api/checkout that queries the orders table and calls Stripe, it creates an edge from the endpoint to each dependency. The more you use your app, the more complete the graph becomes.

The graph persists across sessions. Your team can share the same graph via git — no setup needed for new team members.