Case study
Ensayadero.studio
A rehearsal room that listens back.
A rehearsal tool for bands: upload a recording and get it back split into stems, with MIDI and an editable chord chart, in a multi-track mixer. In invite-only beta.
In private beta. If you'd like to try it, I'll set you up with an account. beltran@rengifo.es



Self-hosted audio ML, no paid APIs
A Python pipeline — Demucs for stem separation, Basic Pitch and Omnizart for transcription, Omnizart and madmom for chords — runs on TensorFlow and PyTorch, which is why it ships in the same Docker image as the Next.js server, self-hosted with Coolify, behind a job queue that recovers interrupted work on restart.
Next.js on Supabase
Next.js 16 and React 19 with RLS-aware API routes; Supabase for Postgres, Google OAuth with an allow-list and role claims, and Storage for stems, MIDI and charts. Playback in the browser with Tone.js and wavesurfer.