riff

A code pad you share with a link.

Open a pad, send the link, and write code with someone else in the same file at the same time. Run it in 11 languages and you both see the output.

New pad NNo account. Pick a name when you join.
/Two sum, warm-up2 hereKYSAPythonRun
main.py
1def two_sum(nums, target):
2    seen = {}
3    for i, n in enumerate(nums):
4        if target - n in seen:
5            return [seen[target - n], i]
6        seen[n] = i
7
8print(two_sum([2, 7, 11, 15], 9))Sam
ConsoleKhizerexit 048 ms
$ run main.py
[0, 1]
Connected · changes save automaticallySam is typingLn 6, Col 20Python

How it works

  1. 1

    Open a pad

    Click New pad or press N. Name it, pick a language, and you're in.

  2. 2

    Send the link

    Whoever opens it types their name and lands in the same file, with their cursor and name tag visible to you.

  3. 3

    Write and run

    Edits sync on every keystroke. Press ⌘↵ and the output shows up for everyone.

Details

Languages
Python 3.14, JavaScript (Node 24), TypeScript (Deno), Go 1.26, Rust 1.93, Java 25, C++ (g++ 15), C (gcc 15), Ruby 4.0, PHP 8.5, Bash 5.2
Running code
Runs in an isolated sandbox with no network access. Each run gets up to 30 seconds and 512 MB of memory.
Sync
Every keystroke, with live cursors and name tags. The status bar shows who is typing.
Whiteboard
Every pad has a Board tab next to the code, for sketching boxes and arrows together. It is powered by Excalidraw, shows everyone's pointer, and is saved with the pad.
Saving
Pads save automatically as you type. Come back to the same link later and your code is still there.
Accounts
None. You pick a name and a cursor colour when you join a pad.
Privacy
Anyone with a pad's link can read and edit it, so don't paste passwords or keys.
Good for
Technical interviews, pairing with a teammate, teaching, and sharing a snippet that someone can actually run.

Ready when you are.

New pad N