OpenAI Build Week

OpenAI Build Week · Developer Tools · 1st place

Echo Canvas

Built by Kevin Yang

A browser workbench for sketching rooms and sound sources, with HRTF spatial audio observed in the deployed app. We did not exercise its model-generated scene flow.

I also participated in this hackathon with Trajectory. This coverage was prepared independently after results were announced.

The idea worth stealing

An acoustic wireframe, not a ray tracer.

Game audio usually gets judged after the level is built, when moving a wall is expensive. Echo Canvas moves the argument to a sketch: a listener, two sources, a partition with a door, and you can hear the difference between the wall and the doorway in seconds. The restraint is the design decision. Direct paths, obstruction, and first-order reflections are computed exactly; the diffuse tail is a bounded perceptual model. As the builder puts it, more rays do not make a better product.

What we checked

Date checked: .

Devpost submission, deployed app, browser bundles and API error responses; no repository or model-generation test.

Labels apply to each finding and the evidence described, not to the project as a whole.

Not independently verified means the available evidence was insufficient to confirm a claim. It does not mean the claim is false.

  1. The model never touches the audio path

    Verified

    The client bundle contains no OpenAI host or key. Model traffic goes through two server routes, scene compile and scene explain, which validate every request and answer a bad one with a fallback scene instead of an error page. The audio graph is built entirely in the browser. Source

  2. Browser HRTF, for real

    Verified

    Pressing Play created one AudioContext and fourteen panner nodes, every one in HRTF mode. The reverb is Schroeder-style comb and delay filters, not convolution; there is no convolver in the bundle. Source

  3. The acoustics run off the main thread

    Verified

    The page loads a dedicated worker chunk on start, and the bundle tracks results and compute time per worker, which is how the diagnostics stay responsive while you drag a wall. Source

Under the hood

The scene compiler fails toward a default
A malformed request to the compile route returns a 400 with a named fallback scene, so the workbench always has something to show even when the model or the request goes wrong.
Doorways are objects, not gaps
A partition with a door is a first-class portal. A source blocked by the wall is routed through the opening, the on-screen path redraws, and the sound shifts toward the door rather than simply going quiet.

Nuance

No repository is linked, so everything here comes from the deployed app: its bundles, its API’s error responses, and what the browser exposed when we pressed Play. We did not send a scene prompt to the model, so the schema validation on GPT-5.6 output is the submission’s description, not something we exercised. The bundle names two models, gpt-5.6 and gpt-5.6-luna.

Sources

Last updated: . Editorial updates do not imply a new technical check.

Builder credits reviewed: , using the official announcement, submission, and any linked credit sources.

Name supplied in an editorial correction. The linked Devpost submission lists Kevin_Yang_tw Yang.

Builder? Add context, request a correction, or ask for a re-check →