684 notes an LLM wrote as an SVG score, traced into 400,000 points by my CUDA tracer. A WebGL2 shader lights each note as it sounds.

0:00

Data

RL environments and code for AI labs

I'm Shreenivas Sangoram. I design systems through coding agents, running several at once across Claude Code, Codex, Pi, DeepSeek and OpenRouter models, and I've built that way for ten and a half months.

Short answer

Custom RL environments and tasks for coding, terminal, computer-use and GPU/CUDA agents, built to order, plus a licensable codebase: Procedural Sound Studio. Email me with what your training or evaluation needs.

~860agent sessions, Dec 2025 → Oct 2026
16,000+prompts from one person steering agents
88,000+tool calls: shell, edits, browser, GPU jobs
~2,300 hof agent sessions, active on 320+ days
70marathon sessions of 50+ prompts; the longest ran 600+
5 · 20+harnesses · models from Anthropic, OpenAI, DeepSeek, Moonshot, Xiaomi, Zhipu

This is where the environments come from: real tasks I've already steered agents through, across 130+ projects. The transcripts themselves aren't for sale.

Datasets

My own prompts to coding agents, by domain. No model output. Licensed per domain.

Largest packs: agent harnesses ~5.2k · learning & exploration ~2k · weight editing ~1.5k · trading ~1.5k · CUDA light-films ~1.3k · RL & training ~1.2k · agents & RAG ~1.2k · phone & device agents ~1.1k prompts; five smaller packs.

steer-v2: about 17,000 of my prompts from about 590 sessions (Dec 2025 to Oct 2026) in Claude Code, Codex and Pi, split into 13 domain packs, each with its own datasheet, sample and stats. Sessions from client work, job applications and personal folders are left out, which is why it draws on fewer sessions than the totals above. Sizes are rounded.

Nothing is sold on this site: packs are licensed directly or through DataVendor. Ask for a pack's datasheet →

Custom tasks and RL environments

Built to your spec, with graders, for agents that work in:

  • Coding: real repositories with multi-step changes, tests as graders.
  • Terminal: shell, packaging and system-configuration work on a real Linux machine.
  • Computer use: a phone agent that operates an iPhone through its UI.
  • GPU and CUDA: kernels and rendering pipelines where correctness and speed are both checked.

Deliverable as HUD tasksets with their environments, or as plain repositories with a runner.

Codebase: Procedural Sound Studio

Procedural Sound Studio: a Linux desktop app (Electron + Python) in which coding agents compose music as executable SVG scores and the Python synths that render them, with a sandboxed provenance check and a test suite. An LLM writes every note as a visible shape in an SVG file, then writes the renderer. Studio proves the sound comes from the score by deleting every audible mark, re-running the renderer in a sandbox and expecting silence.

FactDetail
HistoryBuilt on AudioMass (MIT); my own layer: 17 commits, Sep–Oct 2026
Tests37 passing; 92% line and 81% branch coverage on server/; CI runs on pull requests
SecretsFull Git history scanned: clean
Prior releasePublic on GitHub under the MIT licence from 24 Sep 2026 to 28 Oct 2026
Third-party codeBuilt on the AudioMass editor; bundles WaveSurfer, lamejs (LGPL) and libFLAC, each under its own licence
Licence offeredNon-exclusive

Three pieces composed in Studio. These are unedited screen recordings of the app, only trimmed.

The Sky Stays Open · 47 s
Iron Phrygian · 56 s
Where the Water Remembers · 2 min 10 s

How the light at the top of this page is made

  1. The score is the model's own SVG. Every note carries its start and end time, so nothing is guessed from the audio.
  2. My CUDA tracer (raw CUDA through ctypes, no PyTorch) samples 400,000 points from the drawn notes. They are priority-ordered, so any prefix is an even sample, and each instrument lane gets its own depth.
  3. Each point is 8 bytes: position, note, brightness and depth. Note timing and colour sit once in a float texture, and points stream into a WebGL2 buffer while they download.
  4. Raw shaders, no libraries: additive splats into a half-float buffer, a quarter-resolution bloom and a tonemap. The playhead lights each note as it sounds, and the mix's loudness drives the bloom.

What I don't sell

Outputs generated by third-party models, client work, or anything I don't have the right to license.

FAQ

What are RL environments?

An RL environment is a sandbox where an AI agent attempts real tasks and a grader scores what it did, so the score can be used as a reward for reinforcement learning or as an evaluation. A good one has a reproducible setup, tasks that need several steps, and a grader that checks the outcome rather than the wording.

What kinds of RL environments do you build?

Coding, terminal, computer-use and GPU/CUDA environments, built to your spec with graders, delivered as HUD tasksets or as plain repositories with a runner.

Do you sell agent transcripts or model outputs?

No. The datasets are my own prompts to coding agents, licensed per domain; I don't sell model-generated text or anything I don't have the right to license.

Contact

Email shreenivas.sangoram@consultingai.dev. My code is on GitHub, and the portfolio shows the rest of my work.

Need an environment built?

Tell me the agent, the domain and how you grade it.

Email me →