Gridi — MIDI Grid Controller

gridi is a full-screen grid of programmable MIDI buttons that runs in the browser. Plug in a synth, drum machine or DAW over Web MIDI, then turn each cell of the grid into a note, a chord, a CC sweep or a timed sequence of messages.

Features

  • A small button language: one MIDI message per line (N, NON, NOFF, CC, PC, PB, AT, CP), note names like C4 or F#5, and +N / @N time prefixes for relative and absolute timing — enough to write arpeggios, chord stabs and automation moves into a single button.
  • Triggers (TRG) let incoming MIDI fire a button, so a key on your controller or a CC from your DAW can launch a whole sequence. Wildcards and value ranges are supported.
  • A built-in metronome with tap tempo, plus MIDI clock and transport in/out with per-port filters for clock, transport, notes and CCs.
  • Edit modes for naming, coloring, copying and deleting cells; the grid layout, programs and colors save to the browser and can be exported and loaded as files.
  • Vanilla JavaScript and the Web MIDI API, installable as a full-screen web app.

Built with AI

This app was built with AI. I made it together with Claude, Anthropic’s AI assistant, using Claude Code, a tool that works directly in the terminal. I specified how the grid, the button language and the MIDI routing should work. Claude wrote the code, and I directed the design, made the product decisions and tested everything in the browser. Commits that Claude wrote are marked as co-authored by Claude in the git history.

Click here to try it out!