Resources

Resources and guides.

Get set up, choose an explanation depth, and see exactly how your code is handled.

Quickstart

Get started in about a minute.

Unvibe is a desktop app that opens a panel beside Cursor, VS Code, or any app where you can select code. It reads only what you select and never uploads your repo.

01

Download and open

Get the .dmg for Mac (Apple silicon or Intel) or the portable .exe for Windows x64. Open it and Unvibe waits in your menu bar or tray.

Mac: .dmg · Windows: x64 portable .exe
02

Select code anywhere

In your editor, terminal or browser, select a function you did not write or an AI change you do not fully trust.

Control+U on Mac · Ctrl+Alt+U on Windows
03

Understand and keep it

A panel beside your editor explains the code at the depth you pick. Ask a follow-up, or click Test me to check what stuck.

Lessons save to your Library, on your computer
Explanation depths

Five explanation depths.

The same code, explained five ways. Pick the depth that matches what you already know. New through Advanced are free; Expert is Pro. The sample below is written by hand to show the range. It is not live model output.

Depth 3 · Design

Intermediate depth

Best for: Full-stack engineers reviewing PRs and verifying AI agent code.

useDeduplicatedQuery.tsTypeScript
export function useDeduplicatedQuery<T>(url: string, ttlMs = 30000) {
  const controller = useRef<AbortController | null>(null);

  return useCallback(async () => {
    controller.current?.abort();
    controller.current = new AbortController();

    const cached = cache.get(url);
    if (cached && Date.now() - cached.timestamp < ttlMs) {
      return cached.data as T;
    }

    const res = await fetch(url, { signal: controller.current.signal });
    const data = await res.json();
    cache.set(url, { data, timestamp: Date.now() });
    return data as T;
  }, [url, ttlMs]);
}
Example, Intermediate depth:

This implements an asynchronous Stale-While-Revalidate query cache with cooperative task cancellation:

• Uses AbortController to decouple lifecycle management from HTTP transport, shielding against out-of-order responses. • Employs a TTL-bounded in-memory LRU map to throttle API egress. • Properly surfaces DOMException ('AbortError') distinct from network failures, preventing false-positive error state triggers in the UI tree.

Takeaway: Resilient asynchronous lifecycle with non-blocking revalidation.
What leaves your machine

How your code is handled.

Unvibe is not a local-only tool. Your selected code is sent to a cloud model to write the explanation. A secret scanner runs on your machine first, and anything that looks like a key or token is blocked or held for your confirmation.

Step 1 · Editor

Selected code

The code you select, or a git diff with Pro

Step 2 · On-Device

Local secret scan

Pattern checks for cloud keys, API tokens, private keys, and risky assignments

Runs on-device
Step 3 · Cloud model

Filtered snippet

Sent over HTTPS to the model provider, and the answer streams back

Step 4 · Desktop

Panel beside your editor

The explanation, follow-ups and a Test me question

No repository upload

Unvibe does not clone or index your repository. It sends the code you select plus limited context such as file name and language.

No training set built from your code

Unvibe does not build a training set from your code. Provider retention follows the provider’s API terms, described on the privacy page.

Local history

Saved explanations, notes, and quiz history live on your device. Your sign-in token is sealed with the OS keychain. Optional sync stores learning metadata, not your code.

Shortcuts

Keyboard shortcuts.

One shortcut starts a review. Everything after that works from the keyboard too.

MacWindowsActionContext
Control+UCtrl+Alt+UExplain the selected codeAny app. You can change this shortcut in Settings
⌘UCtrl+UExplain the selected codeCursor and VS Code, after installing the Unvibe editor bridge
EscapeEscapeCollapse the explanation cardWhile a card is focused
Brand

Brand colors and type.

Writing about Unvibe? Copy the colors below and use the fonts as listed.

Colors

The colors used on this site.

Type

Headings

Bricolage Grotesque, bold and tight.

Accents

Instrument Serif Italic, for the one word that matters.

Code

JetBrains Mono for code and shortcuts.

Body

Inter for body text and small labels.

Free for Mac and Windows

Ready to understand the code you ship?

Download Unvibe for Mac or Windows (x64) and explain your first selection.