Skip to content
View Diegorandom's full-sized avatar
🎧
RPro2 is out! Rider, NoiseGate, Limiter, Compressor, Automation & Sidechain
🎧
RPro2 is out! Rider, NoiseGate, Limiter, Compressor, Automation & Sidechain

Block or report Diegorandom

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Diegorandom/README.md

Diego Ortega — audio software engineer

I build audio plugins in C++/JUCE, and the agentic tooling that develops and ships them.

Founder of Casa Occidente — three commercial plugins for macOS and Windows (AU + VST3), notarized, signed, and shipped. 13,000 users in the first year.

Most of my production code is closed source, so this profile is a route map rather than a mirror: the product is downloadable, the numbers are measured, and the engineering judgment lives in the repositories below.

What I'm building right now

A multi-agent harness I run in production against my own products — AI-assisted since 2024, my own harness since 2026.

  • Orchestration. Sub-agents in parallel sessions, each with its own skills layer and its own scoped tool surface, working against a shared task tracker and linter.
  • Permissions. Agents never hold my credentials. The agent proposes, the backend validates against a declared scope, and irreversible operations need explicit confirmation.
  • Verification. Agents check their own output instead of trusting a clean exit — including rendering an artefact and inspecting the result.

Three public receipts. licensegate-operator, an Agent Skills definition for a CLI that mutates real licences — dry-run first, explicit confirmation before live writes, secrets never on the command line — and the store's own agents.md, which gives agents a UCP/MCP path to browse and build a cart, and gates checkout on explicit buyer consent. The tool acts; the human authorises. juce-verify closes the other side: a harness that measures what a plugin claims you can hear — bit-exactness, zipper, block-size independence, deadline usage, latency — so a claim about audio becomes a number instead of an adjective.

Numbers I can defend

  • < 1.5 % CPU per instance, with negligible added latency, measured on the audio thread.
  • Reported latency fixed at 5 ms — 240 samples at 48 kHz. Always the maximum: automating a lookahead would force the host to re-sync the timeline, so every user pays the maximum even at the smallest setting. Over-reporting is the safe direction.
  • 20 % more clicks associated with a user, like-for-like, from a device-association algorithm I designed and shipped — measured against the existing attribution in BigQuery.
  • 13,000 users in the first year, with support and the roadmap through my own hands.

The other half of the work

Ten years of backend and platform before this, in Java, Kotlin and TypeScript:

  • Mercado Libre, Technical Leader. A device data platform — collection → transformation → BigQuery over BigQueue (Meli's streaming platform), with per-use-case data products behind an authorizer — plus a Java library for device data generation shipped inside the Meli Android app.
  • fabric.inc, via BairesDev. v2 of the order management system in Java: microservices, event-driven on SQS/SNS, MongoDB under production load.
  • Lineage Logistics, via BairesDev. React pages and business logic, migrating a legacy FoxPro codebase serving inventory management across North America.

What I care about in this work

Generating options is cheap now. Everything below is about the part that isn't.

  • A claim about what you hear gets a number. «This sounds better» is not a measurement, and an agent that says «it works» has told you nothing. The harness I use for a course on plugins reports a 14.7 dB click from an unsmoothed gain, 240 samples of latency, and 79.6 % of a block's deadline consumed by an allocation — and the first version of that last number was noise below the scheduler, which is written down too. A verification loop that never contradicts itself is not a verification loop; it is a rubber stamp.
  • A missed buffer is a click, not a wrong value. The audio thread gets budgets and traces instead of assertions, and the target is fifteen instances in a real session, not a benchmark number on an idle machine.
  • The real-time path and the control plane don't mix. Audio-path state changes lock-free; anything that touches the host or the UI goes through a thread hop, and never into sample-accurate DSP. Getting that boundary wrong is how plugins crackle under load.
  • The tool should be able to leave the session. The Rider bakes its automation into the DAW, so you can delete the plugin and keep the mix. I hold the agent work to the same rule: the output has to survive without the thing that made it.
  • A parameter range is a contract. Doubling the Rider's action range from ±12 dB to ±24 dB doubled the meaning of every existing automation lane in every host — a curve that reached +6 dB now reaches +12 — so the release notes say that in plain language, before anyone opens an old project and hears something different.
  • When two answers are both right, hand the user the choice. RMS energy and LUFS short-term loudness measure the same take differently, so the plugin exposes both instead of picking one and calling it "the truth".
  • An agent that can spend money must stop and ask. My store publishes its own agent instructions, and the payment step is gated on explicit buyer consent.

Where to look

Hear the product casaoccidente.com — three plugins, macOS, AU + VST3, free trial
Engineering judgment in code license-gate-cli — a TypeScript CLI that mutates real licences. The tool acts; the human authorises.
How the agent proves its work juce-verify — five measurements, each with its number, and the three corrections the process made to itself
How I use agents licensegate-operator — the agent skill: dry-run first, explicit confirmation, no secrets on the command line
DSP and plugin work, learning in public SimpleMBComp (multiband compressor + spectrum analyser) · SimpleEQ
Earlier: algorithmic composition WolframAmadeus — SuperCollider driven by Wolfram Language
Earlier: data sonification DeltaPureData — a meteorological simulator rendered as sound

Elsewhere

LinkedIn · diegortegaimi@gmail.com

Pinned Loading

  1. WolframAmadeus WolframAmadeus Public

    WolframAmadeus es código libre de SC e integración con Wolfram Mathematica, programa que interpreta la representación gráfica de una función matemática procesada a través de la derivación o la inte…

    SuperCollider 8 1

  2. SimpleMBComp SimpleMBComp Public

    Simple MultiBand Compressor Audio Plugin Juce

    C++

  3. DeltaPureData DeltaPureData Public

    Main technique: Data Sonification. Meteorological simulator and arrangement of band pass filters that receive a data stream from the simulator, creating sound narratives around potential climate ch…

  4. license-gate-cli license-gate-cli Public

    Standalone Node/TypeScript CLI for bulk license creation and bulk updates against an existing LicenseGate backend.

    TypeScript

  5. pi_amadeus pi_amadeus Public

    supercollider guitar effect

    SuperCollider

  6. SimpleEQ SimpleEQ Public

    Simple EQ Audio Plugin from youtube course Learn Modern C++ by Building an Audio Plugin (w/ JUCE Framework)

    C++