Screen sharing for
people who build software.

Because better discussion leads to faster production.

Wallpaper

PaidUsersList.tsx

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
const fetchUsersInPaidTeams = async (): Promise<User[]> => {
const response = await fetch(`${API_BASE_URL}/v1/users`)
if (!response.ok) throw new Error('Failed to fetch users')

const users: User[] = await response.json()
return users.filter(user => user.team.isPaid)
}

export const PaidTeamUsers = () => {
const [users, setUsers] = useState<User[] | null>(null)
const [error, setError] = useState<string | null>(null)

useEffect(() => {
fetchUsersInPaidTeams()
.then(data => setUsers(data))
.catch(err => setError(err.message))
}, [])

if (!users) return <Loading />
if (error) return <Error />

return <UserTable users={users} />
}

Paul

Sarah

Mike

They pay us and you could too?

Egregious Claude eyebrow

Built for working, not for meetings

Generic screen sharing tools sap energy.
Tuple gets out of the way so you can cook.

One click to swap who’s sharing

It just takes one click to switch who's sharing when you're on a call. Easily go back and forth with your teammate on a tough problem.

macOS wallpaper
macOS wallpaper

Seamless collaboration

Snappy remote control combined with clear audio and video make you feel like you're sitting right next to your colleague.

const fetchUsersInPaidTeams = async (): Promise<User[]> => {
const response = await fetch(`${API_BASE_URL}/v1/users`)
if (!response.ok) throw new Error('Failed to fetch users')
const users: User[] = await response.json()
return users.filter(user => user.team.isPaid)
}

export const PaidTeamUsers = () => {
const [users, setUsers] = useState<User[] | null>(null)
const [error, setError] = useState<string | null>(null)

useEffect(() => {
fetchUsersInPaidTeams()
.then(data => setUsers(data))
.catch(err => setError(err.message))
}, [])

if (!users) return <Loading />
if (error) return <Error />


return <UserTable users={users} />
}

Ridiculously crisp audio and video

Tuple streams in super high resolution (up to 5K) so you can discern every detail.

Resolutions

End-to-end encryption

All audio, video, and screen share data is end-to-end encrypted, and is never sent to Tuple's servers. We take your privacy extremely seriously.

Fidget toy for adhd readers

screen sharing with App Veil

Hide sensitive apps and notifications, and share your desktop with confidence.

Host view Guest view: the Messages window is hidden by App Veil
You see
Your teammate sees
Drag to compare

Cherry-picked testimonials

Don't take our word for it

Here are some of the nice things people have said about Tuple.

Farhan Thawar

Tuple has become our default tool for remote pairing at Shopify. The teams love it.

Farhan Thawar

VP of Engineering, Shopify

It's the best tool for remote pair programming. Latency is important, keyboard binding all just works. It feels like you're working on a shared computer.

Andrés Taylor

Andrés Taylor

Developer, PlanetScale

So impressed with Tuple. It makes pair programming remotely with co-workers and friends fun again.

Michael Feldstein

Michael Feldstein

Staff Engineer, Figma

Tuple allows me to thrive as an independent developer, easily chatting with freelance clients, mentoring others, and collaborating on open-source projects.

Mikaela Caron

Mikaela Caron

Independent iOS Engineer

Tuple spread like wildfire throughout the entire Clerk team, and quickly became an integral part of our internal communications.

Braden Sidoti

Braden Sidoti

Co-founder & CTO, Clerk

Mandatory AI section

Plug your calls into your agents

Tuple streams your call to the agents you already use, so they can listen in and take action.

Folder icon

triggers

Folder icon

triggers

Folder icon

pause-spotify

File icon

call-initiated

File icon

call-ended

Folder icon

add-git-coauthor

File icon

participant-joined

File icon

participant-left

Automate your workflow with Triggers

Tools for technical people should be programmable.
Triggers let you hook into Tuple's call events and run arbitrary code.

Learn more
⌘
⇧
⌘
⌥
M
⌘
L
⌘
P

Copy call link

Add a participant

Open Tuple popover

Toggle microphone

Copy call link

Add a participant

Open Tuple popover

Toggle microphone

Keyboard shortcuts for everything

Keep your hands on the keyboard and stay in flow with fully customizable shortcuts.

Mac and Windows

For macOS and Windows

It doesn't matter whether your team is using macOS or Windows — Tuple works great on both.

Corporate-approved fun

Liven up your working sessions

You do your best work when you’re having a good time. Tuple helps you have one.

Screen annotations

Draw or type on a shared screen to draw attention to something or emphasize a point. Or use Tuple as a shared virtual whiteboard.

Emoji reactions

Show the rest of team how you're feeling with on-screen emoji reactions.

Animations

Finally figure out that gnarly race condition? Drop a giant "ship it" animation into the call.

❤️

🤯

🔥

👍

👏

Pete

Final, desperate CTA

Ready to get started?

Give Tuple a spin with a 14-day free trial.