v1.0 · iPhone × Mac · Bluetooth

Code from anywhere in the room.

VibeX turns your iPhone into a Bluetooth trackpad & remote keyboard for your Mac. Pair it with Cursor, Claude Code, or Windsurf — vibe code from the couch while AI does the heavy lifting.

Stuck at the desk.

The old way: you, hunched over the keyboard.

Pick up the phone.

Lean back. The trackpad is in your hand.

Walls become screens.

Pace the room. Talk to the AI. Steer with your thumb.

— What it does

Every gesture, every keystroke. Wirelessly.

The whole screen is the trackpad.

Pan. Tap. Two-finger right-click. Two-finger scroll. Every part of the iPhone surface is touch-sensitive — no buttons, no chrome, just leather-feel control.

Type on phone. Land on Mac.

Open the send sheet, type a paragraph in any language, hit Send. Vibe injects the text directly via CGEvent.keyboardSetUnicodeString — your clipboard is never touched, Chinese and emoji land intact.

Volume buttons become Return.

Both volume keys map to on the Mac. Pace the room, point the projector at the wall, and confirm prompts without breaking stride.

— For vibe coders

Works with your AI stack.

VibeX is a hardware companion for vibe coding. Pair it with any AI coding assistant — the AI types on your Mac, VibeX puts the steering wheel in your hand.

Cursor

Let the agent refactor while you pace. Two-finger scroll the diff on iPhone, tap to accept.

Claude Code

Run a long task in the terminal, watch it from across the room, hit volume-up to confirm prompts.

Windsurf

Cascade does the multi-file work. You steer the cursor and approve from the couch.

Lovable · Bolt · v0

Generate the UI on Mac, project it on the wall, navigate without sitting down.

— Under the hood

Native. Local. No cloud.

Vibe is two Swift apps and one shared protocol package. Your gestures travel ten feet over Bluetooth and stop there.

~20ms
End-to-end latency
iPhone touch → Mac cursor
0kB
Data sent to any server
everything is local BLE
2apps
iOS Central, Mac Peripheral
shared GATT protocol
14tests
Wire-format round-trip tests
passing on every commit

BLE GATT, written from scratch

One write per command, little-endian. 0x01 move, 0x02 button, 0x03 scroll, 0x21 key, 0x22 text. Drops are tolerated where it makes sense; buttons and text use Write With Response.

Accessibility, asked for once

The Mac side uses CGEvent.post on the system HID tap. The grant is asked for at first launch and persists across rebuilds — Vibe pins its code-signing identity so macOS TCC never has to second-guess.

— Questions

Things people ask.

How do I use my iPhone as a trackpad for my Mac?

Install VibeX on both your iPhone and Mac, then pair them once over Bluetooth. The entire iPhone screen becomes a touch surface — pan to move the cursor, tap to click, two-finger tap to right-click, two-finger drag to scroll. No Wi-Fi or cloud required.

Can I type on my iPhone and have the text appear on my Mac?

Yes. VibeX has a send sheet on iPhone — type a paragraph in any language (Chinese, emoji, anything), hit Send, and the text is injected directly on the Mac via the system HID layer. Your clipboard is never touched.

Does VibeX need Wi-Fi or an internet connection?

No. VibeX uses Bluetooth Low Energy directly between your iPhone and Mac. No Wi-Fi, no cloud server, no data ever leaves your devices.

How is VibeX different from Astropad, Duet, or Sidecar?

Astropad, Duet, and Sidecar mirror your Mac display onto an iPad. VibeX does the opposite — it sends only your gestures and keystrokes from iPhone to Mac, keeping the Mac display on your real screen (or projector). Lower latency, far less power, BLE-only, and doesn't tie up an iPad.

What are the system requirements?

iOS 16 or later on the iPhone, and macOS 14 (Sonoma) or later on the Mac. Both devices need Bluetooth Low Energy, which is standard on any iPhone or Mac from the last decade.

Is VibeX free?

Yes. The Mac app is a free notarized .dmg download. The iPhone companion app is on the App Store, also free.

— Get Vibe

Two apps. One pairing.

Install both. Pair once. Stand up.

Requires iOS 16+ · macOS 14+