← back

mei | updates
Jan 19, 2026

Shipping a smoother Mei demo (and a few protocol fixes)

We just cut a small but useful set of updates to the Mei prototype. This post walks through what changed, why, and how to run the new demo flow.

What changed

Running the demo

The demo sets up two temp clients (Alice/Bob) and a temp relay, runs the invite/handshake, and sends a message.

Requirements: cargo, mix, curl, and python3 on PATH. Rust toolchain should be installed (rustup default stable if not).

# from repo root
make demo

If you want to peek under the hood and keep the temp state/logs:

TRACE=1 KEEP_STATE=1 make demo

Useful env toggles:

During the demo the CLI prints the peer= value after handshake; that’s the key to use with send.

Manual quickstart (without the script)

# start relay on a chosen port
cd relay/kaheksa
RELAY_PORT=5005 mix run --no-halt

# terminal A (Alice)
cd crates/coral_cli
cargo run -- init
cargo run -- invite --relay http://127.0.0.1:5005

# terminal B (Bob)
cargo run -- init
cargo run -- accept "<INVITE_STRING_FROM_ALICE>"
cargo run -- recv

# back to Alice
cargo run -- recv
cargo run -- send <PEER_KEY> "hello from alice"

# Bob
cargo run -- recv

Add --verbose to any CLI command if you want to see relay URLs per call.