Google Maps for vibe-coded apps

Understand the code you vibe-coded in plain English.

AnnoTrace turns an entire codebase into clear, plain-English explanations mapped to exact files and line ranges so you can navigate, change, and verify with confidence.

No setup required,the demo ships with a sample project and runs without API keys.

src/lib/billing.ts
export async function createCheckoutSession(userId) {
  const session = await stripe.checkout
    .sessions.create({
      mode: "subscription",
      line_items: [{ price: PRO_PRICE_ID }],
      client_reference_id: userId,
    });
  return session.url;
}
fresh
lines 5–14 · confidence 0.9

createCheckoutSession creates a Stripe checkout/payment flow. It is part of the app's billing. It calls the Stripe API and returns a redirect URL for the Pro subscription.

Risks if changed: incorrect price IDs or missing webhook verification can break payments.

Built for understanding, not chatting

A real codebase-understanding platform every explanation is anchored to source.

Bidirectional traceability

English is the navigation layer; source code is the ground truth. Click an explanation to jump to the exact lines, and click code to find its explanation.

Structured analysis pipeline

Repo → folder → file → symbol → line-range explanations. No one-shot 'explain the repo' — every explanation maps to a precise code range.

Change-aware regeneration

Edit code and only the impacted explanations go stale. Regenerate them and compare before/after to verify your fix landed.

Natural-language search

Ask 'where is login handled?' or 'where is Stripe checkout created?' and jump straight to the responsible code.

Right-click everything

Context menus for go-to-source, show related files, re-explain, compare versions, and copy — right where you're working.

Safe by design

Uploaded repos are treated as untrusted: zip-slip protection, ignored secrets, private storage, RLS per-user isolation, and code is never executed.

How it works

01

Upload your codebase

Drop a .zip or pick a folder. We unpack it safely and build a canonical file tree.

02

We analyze it

Languages and frameworks are detected, code is chunked into semantic units, and each unit is explained.

03

Navigate in English

Read what every part does, jump to the source, and ask questions in plain language.

04

Change & verify

Edit code, regenerate only what changed, and confirm your fix in the updated explanation.

Stop guessing what your code does.

Explore the demo project in seconds.

Open the workspace