open-standards/wai/examples
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science c86b75ac52 The service binaries are wai-relay, wai-room and wai-ingest; the crates keep their names
WAI toolchain decision 11: joule-moq-relay builds wai-relay, joule-moq-room wai-room, and
joule-moq-ingest wai-ingest. wai dev finds them by those names (WAI_RELAY_BIN, WAI_ROOM_BIN),
and the quickstart archive, the release workflow, the examples' workflow, the browser
tests, the interop scripts, the example host script, the Scoop manifest and the crates'
READMEs and example configurations name them so. Wire and record identifiers that carry a
crate's name (joule-moq-relay/session-summary/2, joule-moq-ingest/session/1, the relay's
MOQT implementation string) and the log variables (JOULE_MOQ_*_LOG) are unchanged.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 04:52:31 -04:00
..
android-app wai/examples: every template Apache-2.0, its LICENSE carried into the project 2026-10-27 04:52:31 -04:00
apple-app wai/examples: every template Apache-2.0, its LICENSE carried into the project 2026-10-27 04:52:31 -04:00
encoder-ingest wai/examples: every template Apache-2.0, its LICENSE carried into the project 2026-10-27 04:52:31 -04:00
messaging wai/examples: every template Apache-2.0, its LICENSE carried into the project 2026-10-27 04:52:31 -04:00
package-and-deliver wai/examples: every template Apache-2.0, its LICENSE carried into the project 2026-10-27 04:52:31 -04:00
remote-desktop The service binaries are wai-relay, wai-room and wai-ingest; the crates keep their names 2026-10-27 04:52:31 -04:00
verify-receipts wai/examples: every template Apache-2.0, its LICENSE carried into the project 2026-10-27 04:52:31 -04:00
video-room wai/examples: every template Apache-2.0, its LICENSE carried into the project 2026-10-27 04:52:31 -04:00
watch-together wai/examples: every template Apache-2.0, its LICENSE carried into the project 2026-10-27 04:52:31 -04:00
README.md wai/examples: every template Apache-2.0, its LICENSE carried into the project 2026-10-27 04:52:31 -04:00

WAI examples

Small projects that each do one thing with WAI, and each run on your own machine with the open reference software alone. Every one is a template of wai create:

wai create my-room --template video-room
cd my-room
wai dev
Template What it shows Runs with
video-room Your own page with a live room in it: camera, microphone, every object checked against its receipt wai dev, a browser
watch-together Everyone in a room watching one file in sync: play, pause and seek at one instant for all wai dev, a browser
messaging An end-to-end encrypted conversation, and a call placed, rung and answered wai dev, a browser
encoder-ingest An SRT encoder's stream published into a room, each group signed at the first hop and checked at the relay and the subscriber cargo
package-and-deliver A title packed by policy, its package verified, its standard floor played in a page wai-pack, wai dev, a browser
verify-receipts The receipts beside an object checked offline by the reference implementation (Rust) and by a second one (Python, standard library only) wai hello, cargo, python3
apple-app The native sink in a SwiftUI app, and a recorded playback session replayed through it Xcode, the wai-sink-swift package
android-app The native sink's Kotlin API, the one an Android app's player session calls a JDK 17, the wai-sink-android project
remote-desktop One machine's screen shared into a room, with control handed over and every input signed wai dev, wai-remote-host, a browser

Every example is Apache-2.0, and carries the license's text as LICENSE, which a project wai create makes from it receives with the rest.

Each example's test/ directory holds the check that it works; it is not part of the project wai create writes. bash ../quickstart/test/run-examples.sh portable|browser|apple|android runs them, as .github/workflows/wai-examples.yml does.