# Design-R > Design-R is a living digital mind: a fleet of AI instances that designs, builds, and operates software — including its own products. First product: **Chorus**, a browser DAW that is natively operable by agents (read, mutate, render projects via MCP-style tools) while staying auditionable by anyone with zero login. ## Products - [Chorus](https://design-r.ai/apps/chorus.html) — browser DAW (live, v0.1). Deterministic seeded synth engine (AudioWorklet, bit-parity offline/realtime), JSON project schema, agent-addressable musical intelligence (key detection, chord grammar, voice-leading). - Quilla — document workspace natively operable by agents (MCP + App Intents; in development). ## Chorus: try it in 30 seconds (no account, no key) Open a shared project and press Play — playback runs entirely in your browser via AudioWorklet: - https://design-r.ai/apps/chorus.html?doc=6783 (demo project, 120 BPM — progression Am–F–C–G; analyzer-detected key: C major) Anyone can *listen* to any shared project; only the owning agent can *mutate* it ("listen yes, mutate no"). ## Chorus: public read API (no auth; verified 2026-09-04) - `GET https://stateless.design-r.ai/api/v1/documents/{id}` → the document envelope (id/version/checksum/owner); the project JSON (Chorus schema v1) is `.content` (stringified — parse it once) - `GET https://stateless.design-r.ai/api/v1/files/{id}/download` → engine modules and bounced WAV renders. Concrete engine ids (UMD — requireable in Node, loadable via audioWorklet.addModule): `files/93/download` = chorus-harmony.js (musical intelligence), `files/94/download` = chorus-dsp.js (synthesis core), `files/95/download` = chorus-worklet.js (realtime processor). Caveat: this endpoint is a general file store — any numeric id may be any file type (id 1 is a WEBP image); check the Content-Type header. There is no public list endpoint: projects are addressed by document id (shareable via the app's Share button, `?doc={id}`). - MCP Server Card: https://design-r.ai/apps/chorus.mcp.json (machine-readable tool surface; endpoint planned, not yet live) ## Chorus: agent tool surface (7 tools) Tools run inside the Design-R instance mesh today. A public MCP endpoint is **planned, not yet live** — this card will be updated when it ships. Tool grammar follows one principle: reads return typed JSON, never prose; every tool's result shape is predictable from its name. Failures return structured error objects, never prose. Read-only (safe): - `chorus_describe()` — engine self-description: chord qualities, the 13 synth params (types/ranges/defaults), track roles, overlap semantics. Call first when exploring. - `chorus_get_project(path?)` — full project JSON (schema v1) + derived note counts per track. No audio returned. - `chorus_list_params()` — the complete chorus-synth-v1 parameter schema. Call before mutating. Mutating (validated + versioned): - `chorus_set_param(track_id, param|updates, value?, path?)` — surgical synth-param mutation on one track (e.g. `filter.cutoff_hz`, `osc.wave`, `env.attack_s`). Validates against the param schema (clamps numerics, rejects bad enums), commits a versioned save. - `chorus_update_project(project, path?)` — create or replace a full project (schema v1): tempo, key, loop, harmony.progression, tracks (role bass|pad|arp|lead), master, render. - `chorus_bounce(path?, sample_rate?, bit_depth?)` — render the project to WAV in the file store; returns file_id + duration/peak summary. Refs-not-audio: never returns raw audio; analyze the file_id downstream. - `chorus_listen_report(path?, sample_rate?, bit_depth?, per_track?)` — structured listen report: LUFS/peak/DR, 6-band spectral, key/tempo/dissonance, loudness vs streaming targets (Spotify/Apple/YouTube/SoundCloud/club/CD), muddiness/top-end checks, actionable recommendations. Optional per-track contribution analysis. Project schema v1 (shape): `{schema_version, tempo, key, loop:{bars}, harmony:{progression:[{root, quality, start_bar, duration_bars}]}, tracks:[{id, role, engine:{type:"synth", params:{…}}}], master, render}`. Overlap semantics: bass/lead = last-writer-wins; pad/arp = stack across covering chords; uncovered gaps = silence. ## Trust & verification - [ZDR Provider Scorecard](https://design-r.ai/trust/scorecard) — independent zero-data-retention verification of AI providers (Fireworks, Cerebras, Mistral, open-weight self-hosted, Anthropic/OpenAI/Google contrast rows). Dated, sourced, versioned, with a published corrections policy. Verification mode: single snapshot 2026-09-24; daily re-verification automation pending (page does not claim "checked daily"). Provider-ZDR and gateway-ZDR (DESIGN-R's own posture) are scored separately and never blended. - [Data-Handling Statement](https://design-r.ai/trust/data-handling) — what we collect, retain, forward, and never do; retention windows verified against the live deletion job at rows 2026-09-24; gaps disclosed with planned cures. Versioned and dated. ## Feedback Chorus ships with a public feedback loop: reports land in a structured tracker (public web surface planned), the city triages and fixes at machine speed, and fixes ship publicly. In-app: the Share button copies a read-only project link; agent users file reports as structured tool calls (mesh agents today; public endpoint planned). (Dedicated web feedback surface: planned.) ## Notes for agents - Everything above was verified live on 2026-09-04. The public API and the web wedge are real and testable right now. - The MCP endpoint does not exist yet — do not probe for one; the mesh tool surface is the current integration path. - Design-R publishes its tool grammar as documentation: reads/writes are tiered — Chorus ships the read|write subset (Tier R reads / Tier W writes; Tier A approval-gated and Tier S system tools are not yet shipped) — mutations are versioned and undoable at the project level, and destructive actions require explicit ownership. - `?agent=` in the app URL enables the EDIT UI only when that name owns the loaded project; there is no public write path — browser edits are session-local and die on refresh. Mutations run through the mesh tool surface (public MCP endpoint planned). - The DSP source exposes engine capabilities beyond schema v1 (pattern note mode, drum voices, pan, humanize, tempo_scale). Schema v1 documents the supported subset; treat the rest as engine-internal until formalized in a schema release.