Full control for gestures, modes, panic, privacy, memory, and feedback.
These controls run against the current mock/browser ring layer and keyboard fallback. The same profile shape is ready for Bluetooth HID or SDK ring events when real hardware is connected.
Interview gesture map
Change any gesture by selecting an action. Changes save through Supabase immediately and become the default control profile for Live Copilot and Interview Prep.
Action catalog
Show or speak the current cue again.
Move to the next generated cue or variant.
Return to the previous cue or variant.
Rewrite the cue into shorter, safer language.
Use more precise technical framing.
Make the cue sound more conversational.
Prepare the likely next answer or defense.
Avoid overclaiming and name uncertainty clearly.
Add a concrete example to the cue.
Surface source, registry, or GitHub evidence.
Suppress the current topic from the HUD.
Translate the current cue using translator settings.
Switch to interview-focused answers.
Switch to product demo language.
Switch to translation support.
Summarize and extract action items.
Bias cues toward root cause and diagnostics.
Only show urgent or high-confidence cues.
Start microphone/listening intake.
Stop microphone/listening intake.
Start or stop listening depending on current state.
Mute capture without ending the session.
Stop AI cue generation temporarily.
Prefer privacy-safe wording and avoid sensitive details.
Clear the current HUD or bridge display.
Save the current cue or transcript moment.
Save person/context notes for future retrieval.
Pull relevant notes or knowledge cards.
Create a follow-up task from the current moment.
Give a short safe answer immediately.
Give a natural sentence that buys time.
Ask a clarifying question instead of guessing.
Explain how you would reason from first principles.
Ask an operator for help.
Send current context to operator mode.
Raise the current session priority.
Push the current cue to the phone bridge.
Fire a configured automation route.
Mark the cue useful for tuning.
Dismiss the current cue.
Mark cue as too long.
Mark cue as too vague.
Mark cue as too risky.
Live behavior
Repeats the last display payload.
Switches to the safe short/panic variant.
Saves the current cue lines to saved moments.
Switches to the panic-safe cue variant.
Toggles manual listening state or starts browser microphone listening.
Switches to the technical variant and sends it to the device path.
Switches to the natural spoken variant and sends it to the device path.
Simulator log
Use any Test button to verify the action that would fire from the active ring profile.
Export profile
This is the exact config shape we can later persist to the database or sync to the mobile app.
{
"settings": {
"activeMode": "interview",
"enabled": true,
"hapticsEnabled": true,
"soundEnabled": false,
"requireHoldForPanic": true,
"privacyLockEnabled": true,
"sensitivity": "medium",
"displayDensity": "balanced"
},
"profile": {
"id": "ring-interview",
"name": "Interview",
"description": "Short, defensible answers for technical interviews.",
"mode": "interview",
"bindings": [
{
"id": "keyboard-space",
"profileId": "glasses-copilot-default",
"deviceType": "keyboard",
"code": "Space",
"label": "Space",
"action": "next_cue"
},
{
"id": "keyboard-s",
"profileId": "glasses-copilot-default",
"deviceType": "keyboard",
"code": "KeyS",
"label": "S",
"action": "simplify_cue"
},
{
"id": "keyboard-t",
"profileId": "glasses-copilot-default",
"deviceType": "keyboard",
"code": "KeyT",
"label": "T",
"action": "make_more_technical"
},
{
"id": "keyboard-h",
"profileId": "glasses-copilot-default",
"deviceType": "keyboard",
"code": "KeyH",
"label": "H",
"action": "make_more_human"
},
{
"id": "keyboard-f",
"profileId": "glasses-copilot-default",
"deviceType": "keyboard",
"code": "KeyF",
"label": "F",
"action": "generate_follow_up"
},
{
"id": "keyboard-p",
"profileId": "glasses-copilot-default",
"deviceType": "keyboard",
"code": "KeyP",
"label": "P",
"action": "panic_answer"
},
{
"id": "keyboard-r",
"profileId": "glasses-copilot-default",
"deviceType": "keyboard",
"code": "KeyR",
"label": "R",
"action": "repeat_cue"
},
{
"id": "keyboard-n",
"profileId": "glasses-copilot-default",
"deviceType": "keyboard",
"code": "KeyN",
"label": "N",
"action": "next_cue"
},
{
"id": "keyboard-b",
"profileId": "glasses-copilot-default",
"deviceType": "keyboard",
"code": "KeyB",
"label": "B",
"action": "previous_cue"
},
{
"id": "keyboard-l",
"profileId": "glasses-copilot-default",
"deviceType": "keyboard",
"code": "KeyL",
"label": "L",
"action": "start_listening"
},
{
"id": "keyboard-x",
"profileId": "glasses-copilot-default",
"deviceType": "keyboard",
"code": "KeyX",
"label": "X",
"action": "translate_current"
},
{
"id": "ring-interview-single_tap",
"profileId": "ring-interview",
"deviceType": "dev_mock",
"code": "single_tap",
"label": "Single tap",
"action": "repeat_cue"
},
{
"id": "ring-interview-double_tap",
"profileId": "ring-interview",
"deviceType": "dev_mock",
"code": "double_tap",
"label": "Double tap",
"action": "simplify_cue"
},
{
"id": "ring-interview-triple_tap",
"profileId": "ring-interview",
"deviceType": "dev_mock",
"code": "triple_tap",
"label": "Triple tap",
"action": "save_moment"
},
{
"id": "ring-interview-long_press",
"profileId": "ring-interview",
"deviceType": "dev_mock",
"code": "long_press",
"label": "Long press",
"action": "panic_answer"
},
{
"id": "ring-interview-hold_two_seconds",
"profileId": "ring-interview",
"deviceType": "dev_mock",
"code": "hold_two_seconds",
"label": "Hold 2 seconds",
"action": "toggle_listening"
},
{
"id": "ring-interview-swipe_up",
"profileId": "ring-interview",
"deviceType": "dev_mock",
"code": "swipe_up",
"label": "Swipe up",
"action": "make_more_technical"
},
{
"id": "ring-interview-swipe_down",
"profileId": "ring-interview",
"deviceType": "dev_mock",
"code": "swipe_down",
"label": "Swipe down",
"action": "make_more_human"
},
{
"id": "ring-interview-swipe_left",
"profileId": "ring-interview",
"deviceType": "dev_mock",
"code": "swipe_left",
"label": "Swipe left",
"action": "previous_cue"
},
{
"id": "ring-interview-swipe_right",
"profileId": "ring-interview",
"deviceType": "dev_mock",
"code": "swipe_right",
"label": "Swipe right",
"action": "next_cue"
},
{
"id": "ring-interview-rotate_clockwise",
"profileId": "ring-interview",
"deviceType": "dev_mock",
"code": "rotate_clockwise",
"label": "Rotate clockwise",
"action": "show_evidence"
},
{
"id": "ring-interview-rotate_counter_clockwise",
"profileId": "ring-interview",
"deviceType": "dev_mock",
"code": "rotate_counter_clockwise",
"label": "Rotate counter-clockwise",
"action": "hide_topic"
},
{
"id": "ring-interview-secondary_button",
"profileId": "ring-interview",
"deviceType": "dev_mock",
"code": "secondary_button",
"label": "Secondary button",
"action": "generate_follow_up"
}
]
}
}