02 / Interactive AI

Day Echo

An ambient companion that makes room for human intent and control.

0:11 silent recording

Thinking → acknowledgement → Recovery, with Pause and Stop visible.

Recorded prototype + MatrixFrame simulator · not physical LED footage

When should an intelligent system respond, how strongly should it respond, and when should it remain quiet?

Independent designer and developer

Implemented individual prototype · 2026

  • Interaction policy
  • JavaScript / frontend + backend
  • AI provider integration
  • Environmental output

I designed the interaction model and agency boundaries, then built the interface, provider integration, and shared screen/environment output pipeline.

01 / The problem

Continuous understanding does not require continuous interruption.

For someone working, resting, or processing a difficult moment, continuous sensing creates a design problem: detecting context does not establish that a response is wanted. An ambient companion must consider interruption cost alongside confidence.

I framed assistance as a permission decision. Explicit intent should outrank inference, uncertain evidence should limit initiative, and corrections should remain easy to make. These are design commitments, not demonstrated improvements in wellbeing or attention.

02 / Interaction model

Context informs a response. It does not authorize one.

Policy summary / increasing initiative within the selected agency mode

  1. 01

    Wait

    Weak or conflicting inference: retain the current environment.

  2. 02

    Suggest

    Offer a preview; leave commitment to the person.

  3. 03

    Ask

    Request confirmation when uncertainty or permission requires it.

  4. 04

    Act

    Carry out an explicit command or a policy-permitted change.

Actual Companion acknowledgement: I’M HERE on the software matrix beside the interface, with Adjust, Pause and Stop visible.
Original UI + MatrixFrame simulator capture / acknowledgement before the Recovery base. Pause and Stop stay available. Inspect full frame

Permission is part of the interaction

Preview First waits for Apply. Adaptive Assist asks before a new environment; Auto Environment can act only within its scope. Ambient Companion begins continuous voice only after explicit Start. This ladder summarizes policy, not four extra UI buttons.

A correction must survive the next inference

Direct commands take priority over inferred emotion. Auto policy checks confidence, contradiction, recent rejection, and interruption cost; Companion stabilizes emotion evidence before responding. Adjust, Undo where supported, and Pause/Stop provide different levels of control. Temporary Listening, Thinking, and acknowledgement scenes restore the current stable base.

An explicit instruction replaces an inferred base

In a focused engineering retest, Ambient Companion held a green Recovery base after a Sad response. The spoken instruction “Make it pink” replaced that inferred base with Pink exactly once, without a narrative replay. “Goodbye” then displayed TAKE CARE once, cleared all 480 matrix pixels, and stopped microphone and provider activity.

8 October 2026 acceptance record / real Qwen voice input after explicit Start; MatrixFrame simulator output, not physical LEDs. This bounded retest is separate from the portfolio clip above and is not a formal user study.

03 / System implementation

One semantic decision, coordinated outputs.

  1. Multimodal input

    Text, voice, user-triggered image capture; local context.

  2. Context interpretation

    Explicit commands, stabilized inference, scene/color features.

  3. Decision policy

    Intent, confidence, permission, and interruption cost.

  4. Shared environment

    Semantic setup and persistent base; temporary response layers.

  5. Screen / environment

    Interface preview + server-rendered 60 × 8 MatrixFrame.

Real integration; explicit test boundaries

The Qwen realtime API provides speech transcripts and categorical emotion evidence through a server relay. A separate local demo path uses browser speech recognition and a deterministic classifier. Emotion is a weak signal, not a diagnosis.

Image input uses local scene cues and color features. Calendar context is mocked; some implicit signals are simulated. The server renderer supports WLED HTTP and DDP/UDP output; simulator mode exposes logical frames without hardware writes.

Day Echo image-input result: Recovery with Soft Teal, input composer and image/voice controls, beside the coordinated software matrix.
Actual image-input result / local visual features inform the screen atmosphere and matrix scene. Software simulator, not physical LED footage. Inspect full frame

04 / My contribution

Designing the boundaries—and making them hold.

Concept → interaction

I defined the companion concept, response hierarchy, permission modes, and corrective controls, and designed the interface around bounded initiative.

Interface → environment

I implemented the frontend/backend, provider integration, policy orchestration, and environmental output pipeline as an independent project.

Behavior → verification

I tested and debugged command precedence, response timing, shutdown, and restoration of the accepted base. A key engineering correction prevented a completed response from restoring an obsolete environment.

05 / Outcome & reflection

Restraint has to be implemented, not just promised.

The implemented prototype connects input, bounded decisions, and coordinated output. The recording shows Thinking → acknowledgement → Recovery with user controls visible. Source tests and simulator checks support these behaviors; formal user evaluation is not established.

The work taught me to treat waiting, correction, and return to a stable base as designed behaviors. A more capable interpreter still needs a credible reason to act.

Next I would evaluate whether people understand each mode’s authority, can correct unwanted changes, and find the interruption level appropriate. Emotion coverage, reported-speech ambiguity, and long-duration reliability remain open. The portfolio footage does not establish physical LED performance.