
Resources and guides.
Get set up, choose an explanation depth, and see exactly how your code is handled.
Get started in about a minute
Unvibe is a desktop overlay that sits beside Cursor, VS Code, or any app where you can select code. It reads only what you select and never touches your git repo.
Download & Launch
Grab the .dmg for Apple silicon Macs or the portable .exe for Windows x64. Open the app and it waits in your menu bar or tray.
Mac: Apple silicon .dmg · Windows: x64 portable .exeHighlight Code in Cursor
Open your favorite editor. Highlight any complex function, unfamiliar AI generation, or gnarly git diff.
⌘U on Mac · Ctrl+U on WindowsUnderstand & Retain
The floating Island displays a clean, syntax-highlighted breakdown. Click Test me to check what stuck.
Saved on your device in StudyFive explanation depths
The same code, explained five ways. Pick the depth that matches what you already know. The sample below is written by hand to show the range. It is not live model output.
Intermediate depth
Best for: Full-stack engineers reviewing PRs and verifying AI agent code.
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]);
}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.
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.
Selected Code
Highlighted selection or uncommitted git diff
Local secret scan
Pattern checks for cloud keys, API tokens, private keys, and risky assignments
Filtered snippet
Sent over HTTPS to the model provider, and the answer streams back
Floating Island
Instant syntax-highlighted review card & comprehension quiz
Unvibe does not clone or index your repository. It sends the code you select plus limited context such as file name and language.
Unvibe does not build a training set from your code. Provider retention follows the provider’s API terms, described on the privacy page.
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.
Keyboard shortcuts
One shortcut starts a review. Everything after that works from the keyboard too.
Brand colors and type
Writing about Unvibe? Copy the colors below and use the fonts as listed.
Colors
The colors used on this site and in the app.
Type
Newsreader Italic. Calm and editorial.
JetBrains Mono for code and shortcuts.
Inter for interface text and small labels.