尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗A free, camera-based AAC (augmentative & alternative communication) web app. It lets a person who can't use their hands or voice compose text and speak it aloud using only a device's front camera. All processing happens on-device in the browser — no video is ever uploaded or saved.
Built for the Congressional App Challenge 2026.
Live site: https://<your-username>.github.io/relay-cac/
(fill this in once GitHub Pages is enabled — see below)
| Version | What it adds | |
|---|---|---|
/v6 | v6 — listen mode (blind & low-vision) | The v5 command board by ear: auditory scanning reads each option in a quick, quiet cue voice and speaks the chosen one in a full voice; earcons; spoken camera guidance ("move a little to your left") and a spoken switch calibration; one- or two-switch scanning with any key or Bluetooth switch (no camera needed); an Ask category whose answers the voice assistant speaks back; settings saved on the device |
/v5 | v5 — command board (recommended) | Speaks whole commands in 1–2 selections — smart-home control ("Alexa, turn on the AC"), urgent needs, and calls — for people for whom spelling is too slow. Selectable wake word (Alexa / Google / Siri). A Type a message keyboard suggests the person's own names, medicines, places and phrases (entered by a caregiver in Settings, stored only on the device) and learns words they use |
/v4 | v4 — keyboard + phrases | Free-text typing with word + next-word prediction and a quick phrase board (the spelling fallback) |
/v3 | v3 — scanning mode | Row–column scanning with a selectable switch (eyebrow raise, mouth open, blink, or Space) |
/v2 | v2 — word prediction | A prediction row (backed by a trie) suggests word completions |
/v1 | v1 — nose-tracking keyboard | Head-pointer cursor, dwell-to-select, blink-to-select, and text-to-speech |
How the command board speaks to a voice assistant: it says the command out loud (e.g., "Alexa,
turn on the air conditioner"). A nearby Echo/Nest/HomePod hears it and acts — no cloud API, account,
or internet link required, and nothing is uploaded. Edit the MENU list near the top of
v5/index.html to customise commands and contact names.
Personal words (v5): in Settings → Personal words for typing, a caregiver can enter names, medicines,
places and favourite phrases. The keyboard suggests these first (e.g. "met" → "Metformin", "my m" → "My
medicine is due."), and words the person speaks are ranked higher over time. Everything is kept in the
browser's localStorage on that device; Clear personal words & typing history removes it.
Listen mode (v6): built for blind and low-vision users. Start with any key or a tap anywhere; from then on everything is spoken. Menus scan one option at a time, each read aloud, and the scan waits for each option to finish before moving on. After three rounds with no selection it pauses until the switch is used. The keyboard announces rows ("Letters A to L"), echoes each letter, and has Read back. With a face switch, the app talks the person into camera view and calibrates the gesture to their face; with Key or physical switch only the camera isn't used at all. In two-switch setup Space/arrows move and Enter selects; Escape returns to the main menu. Tiles are real buttons with labels, so a screen reader works when scanning is off.
Starting v6 with no key press (dedicated device). Browsers don't let a page speak until someone presses a key or taps it, so by default v6's start screen is silent until then. On a computer set aside for one person, a caregiver can set Chrome to allow it:
open -na "Google Chrome" --args --autoplay-policy=no-user-gesture-required https://<your-username>.github.io/relay-aac/v6/
(on Windows, add --autoplay-policy=no-user-gesture-required to the shortcut's Target).From then on v6 says "Welcome to Relay" as soon as it opens and starts scanning by itself. If the camera hasn't been allowed yet, it says "Press any key, or tap the screen, to start." Safari, iPhone and iPad have no such setting, so there the first key press or tap is still needed (VoiceOver reads the start button).
Every version has an All versions button in the top bar that returns to the landing page.
Each version is a single self-contained HTML file (vN/index.html). Later versions include
everything from the earlier ones.
@mediapipe/tasks-vision), loaded from a CDN. Runs in-browser via WebAssembly, returns 478 face
landmarks per frame. The cursor is driven by landmark #1, the nose tip.eyeBlinkLeft/eyeBlinkRight).speechSynthesis).commit()
function. This is the seam where an SSVEP/brain-computer-interface input can plug in later.The camera needs a secure context (a real address, not a double-clicked file):
# from the repo folder
python3 -m http.server
# then open http://localhost:8000 in Chrome
relay-aac and upload the contents of this folder
(or push with git).https://<your-username>.github.io/relay-aac/.
Versions live at /v1/, /v2/, /v3/.(The included .nojekyll file tells Pages to serve the files as-is.)
MIT — see LICENSE.