Scroll
Tunnel

Lock in.

Tunnel blocks everything you don't need. Vision, the AI agent inside it, helps you finish what you started.

Join the early testers
Mac today · iPhone and iPad soon
Tunnel

Lock in.

Tunnel blocks everything you don't need. Vision, the AI agent inside it, helps you finish what you started.

Join the early testers
Mac today · iPhone and iPad soon
across all
your devices.
Meet Vision

The AI agent inside Tunnel.

Tunnel is the lock. Vision is the one who helps you through it.

Tell it what you want to finish. It sets up your tunnel, answers when you're stuck, and remembers where you left off.

What Vision does

Your goal builds the tunnel.

“Finish the placement section of my paper.”

Vision pulls in what that work actually uses. Everything else closes. No block list to keep.

What Vision does

It judges content, not apps.

The lecture stays. The recommended video doesn't.

One quiet line says why. “This is on task” undoes it, and Vision learns.

What Vision does

Ask it anything on your screen.

Hold a key and talk.

Show it what you're stuck on. A line or two back, and you're still in.

What Vision does

It remembers where you were.

“Back to SALSA.”

Your files, tabs and the line you were stuck on come back with you.

Hold a key.
Ask about anything on your screen.
A line or two back, and you're still in.

Tunnel

Lock in.

Tunnel blocks everything you don't need. Vision, the AI agent inside it, helps you finish what you started.

Join the early testers
Mac today · iPhone and iPad soon
Vision
Tunnel vision, on purpose.
Overleafpaper / placement.tex
VS Codesalsa / placement
Previewtetris-placement.pdf
Previewquincy-survey.pdf
Vision picked these. Everything else is closed, on every device.
youtube.com/watch · Lecture 14: Placement algorithms
▶︎ Lecture 14 · Placement
VisionHid the recommended videos. They're not part of the placement section.This is on task
138auto it = std::lower_bound(q.begin(), q.end(), key);
139if (it == q.end()) {
140 // why does this hit on an empty queue?
141}
“Why is it end() here?”
Visionlower_bound returns end() when every element is less than the key, and always on an empty queue. Check q.empty() first.
Back to SALSA.
placement.cpp · line 140
heap-notes.md
quincy-survey.pdf · p. 9
VisionLast time you were stuck on why the heap traversal stalls the queue.
On your phone

Your phone shows where you are.

Set it on its side.

StandBy shows the step you're on and how long is left. Nothing else.

On your phone

Park an idea without leaving.

“Idea for the talk: open with the queue bug.”

Say it to your phone and get back to work. It's there when you're out.

On your phone

Everything else stays quiet.

Until you're done.

Apps that pull you away are dimmed and silent. What arrives waits for you.

Say it out loud.
Vision parks it for later.
The idea is safe. You stay in.

In the tunnelPlacement sectionSALSA paper
38:12

“Idea for the talk: open with the queue bug.”

VisionParked. It'll be there when you're out.

Tunnel is on · 12 notifications held
Early access

Join the first few.

We're letting a small group in before anyone else. Tell us what you're working on, and we'll send you Tunnel when your spot opens.

On

First inYou get Tunnel before anyone else.
A direct lineTell us what's broken. We reply.
Shape VisionWhat you hit decides what we build next.

Tunnel