Completely free · Mac private beta
Understand the code AI writes.
Agents ship faster than people can learn. Unvibe sits beside Cursor, VS Code, and your terminal: select code, pick a depth, get a clear explanation, then prove you understood it—without leaving your workflow.
- Explains selections, diffs, functions, and project structure
- Five depths: first time through expert tradeoffs
- Free for everyone in beta. No credit card. No pricing wall.
See the product
Overlay in the editor. Companion for everything you keep.
Unvibe is not another course catalog. It turns the code you already wrote—or your agent wrote—into explanations, checks, and a knowledge trail.
The gap
Shipping code is not the same as understanding it.
AI closes tickets fast. But merged code you cannot explain becomes tomorrow's mystery bug. Unvibe turns the diff you accepted into something you actually know.
1export async function getCart(userId: string) {2 const key = `cart:${userId}`;3 const cached = await redis.get(key);4 if (cached) return JSON.parse(cached);5 const cart = await db.cart.find(userId);6 await redis.set(key, JSON.stringify(cart), "EX", 60);7 return cart;8}cart:${userId}Namespaced cache key so each user's cart is stored separately.
if (cached) return ...Cache hit: skips the database entirely and returns early.
"EX", 60The cache expires after 60 seconds, so stale carts self-correct.
How it works
Three quiet steps, right where you are.
Select the code
Highlight a snippet, an active file, or an uncommitted diff. Trigger Unvibe with a keystroke. It reads only what you point it at.
Choose your depth
New to code or seasoned engineer, pick the level that fits. The same snippet is explained plainly or with the trade-offs, on demand.
Learn beside your work
A calm widget streams the explanation with citations back to the code, then checks your understanding and saves it to your notebook.
One snippet, five depths
From first day to staff engineer, on the same line of code.
Drag the depth from New to Expert and watch the explanation change. Nothing about the code moves — only how much it assumes you already know.
1function debounce<T extends (...args: any[]) => void>(2 fn: T,3 wait = 3004) {5 let timer: ReturnType<typeof setTimeout> | null = null;6 return (...args: Parameters<T>) => {7 if (timer) clearTimeout(timer);8 timer = setTimeout(() => fn(...args), wait);9 };10}debounce takes your function and returns a new version of it. Every time you call the new version it resets a countdown. Only when the countdown finishes without interruption does your original function actually run.
Try it yourself
A comprehension check, no account required.
This is the same kind of question Unvibe asks after an explanation. Read the code, pick an answer, and see how it reads a correct or missed response.
function debounce<T extends (...args: any[]) => void>( fn: T, wait = 300) { let timer: ReturnType<typeof setTimeout> | null = null; return (...args: Parameters<T>) => { if (timer) clearTimeout(timer); timer = setTimeout(() => fn(...args), wait); };}If you call the debounced function five times in quick succession within the wait window, how many times does fn run?
Privacy
Your code stays yours. By design, not by promise.
Unvibe builds context locally and filters secrets before any request. The whole repository is never uploaded, and cloud analysis is consent-gated per repo.
Secrets filtered on your Mac
API keys, tokens, and private keys are detected before anything is sent, and a hit blocks the request.
You preview what leaves
See exactly what would be transmitted, and grant cloud analysis per repository. It is off until you say so.
Never trained on your code
We use a provider setting that does not train on submitted data, and analytics never contain code contents.
Sent
- Your selected snippet
- The scope you approved
- Shallow project structure
Blocked
- .env and .env.*
- *.pem · *.key · id_rsa
- node_modules / build output
- High-entropy secrets
Add your own rules with a .unvibeignore file.
Free waitlist
Get Unvibe free on Mac.
Completely free during beta. No credit card. No pricing page. Join the list and we email you when the Mac build is ready.
FAQ
Straight answers.
What Unvibe does, what it does not, and how it treats your code — no hedging.
Unvibe is a desktop AI learning layer for code. It lives beside your editor: select code, choose a depth, and get an explanation that stays open while you work. It also helps you save notes, track concepts, and turn real projects into study material. It is not a course platform or another chat window.
Ship with AI. Learn what you shipped.
Unvibe is free for everyone in the Mac beta. Join the waitlist if you want to understand agent-written code without leaving your editor.
Completely free · Mac first · No credit card · No pricing wall



