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 likeC4orF#5, and+N/@Ntime 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.