One question, two kinds of answer. Mine are hidden in this field. Everyone else's are on the wall.
The interactive field could not load, so the projects are listed instead.
A macOS terminal toolbox for the media conversions and Finder housekeeping that come up every single day.
A set of shell commands for the work that otherwise means remembering ffmpeg flags: images to WebP, video to WebM or GIF, clips glued together — forwards, or bounced back on themselves — audio pulled out of a video, a WAV retimed to a target BPM or reversed sample-accurately, glitch, cut and effect passes over video, and batch optimisation presets for web, social, or archive. It covers the Finder side of the same day too: thumbnails for .webloc bookmarks, a Markdown index of them, and Quick Action templates to drop into Automator. Every tool takes `-i` and becomes a wizard that reads the file's metadata, walks the settings one at a time and hands back the exact command it would have run. Nothing overwrites an existing file unless told to, every batch can be previewed first, and a doctor command checks and installs the Homebrew dependencies so none of it has to be memorised.
An interactive visualiser that turns a repository into a navigable map of files, imports, and risk.
Renders a GitHub or local repository as a zoomable force graph on Canvas, switchable between 2D, tower, sphere, and cylinder layouts, with nodes coloured by file type, architecture role, or maintenance risk. A minimap, breadcrumbs, pinned files, and a syntax-highlighted code drawer keep you oriented once the graph gets dense, and a local repository can be picked by browsing from inside the app rather than typing an absolute path. Alongside the graph it derives deterministic repository intelligence: detected stack, language breakdown, likely entry points, health metrics, risk hotspots, and a suggested reading path for someone opening the codebase for the first time.
Seven high-precision calculators for audio engineers and microtonal musicians, working fully offline.
One reactive dashboard covering timecode conversion with NTSC drop-frame support, an adaptive tap tempo that rejects outlier taps, tempo-to-delay tables, a MIDI-note-to-frequency matrix with custom diapasons and historical temperaments, sample length conversion, varispeed and tempo-change ratios, and a frequency-to-note quantiser with cents deviation. Built as an installable PWA that expects no network at all, with the maths covered by unit tests.
A four-stem player built for rehearsing against isolated parts of a song rather than producing them.
A static web app for synchronised playback of four separated stems, aimed at the rehearsal room rather than the studio. A Lite mode and a separate mobile render path keep it responsive on weaker devices, an output limiter guards the mix, and PWA install means it keeps working somewhere with no signal.
A desktop app that separates any song into four stems locally — no upload, no service, no account.
Wraps Meta's Demucs Hybrid Transformer model in a Tauri v2 shell with a Rust backend and a Vue 3 front end. PyTorch, TorchAudio, TorchCodec, and the htdemucs checkpoint are packaged into a standalone PyInstaller sidecar — the checkpoint validated by checksum at build time — so separation runs entirely on the machine. Rust holds the state of the whole application, spawns the inference CLI and parses its progress output into job events, and the interface reads the resulting bass, drums, other, and vocals tracks back through the Web Audio API. It builds to a standalone .app and .dmg on Apple Silicon.
A 2D space arcade whose enemies flank, lead their shots, and use the asteroids as cover too.
Inertial flight — acceleration, braking, boost, shield — against tactical enemies that flank, evade, hold separation from each other, and aim where you are about to be, with large asteroids acting as real physical cover for both sides. Three original commanders close each sector with their own phases and patterns, across Campaign, Survival and Boss Rush at three difficulties. What you earn is kept rather than performed: a Titan hangar, a pilot archive, a mission report, three SQLite save slots with autosave and checkpoints between sectors, and a Node/Express API holding history and ranking per mode and difficulty. Plain JavaScript, Vite and Canvas 2D, with its own CSS and no engine underneath.
A local sample library for macOS that catalogues what you already own without touching a single file.
A Tauri desktop app over a Rust core: point it at a folder and it walks the audio, decodes it through Symphonia, and keeps what it learns in SQLite — tags, notes, favourites, ratings, collections and saved searches, with results paged by cursor rather than loaded whole. Waveforms are computed in blocks on demand and cached by SHA-256, A and B mark a loop for preview only, and the same hash groups duplicate copies and shows you each one in Finder without deleting anything. Export copies a selection into a dated session folder with a manifest and checksums, never overwriting. The audio files themselves are never modified and no tags are written inside them: the catalogue is the only thing that changes, and it can be backed up and restored while WAL is live.
A text-to-performance instrument that plays a written score as acoustic piano, then exports it as MIDI.
Takes a structured text score — chords with velocities, melody notes at floating-point beat positions — and renders it as an acoustic performance through sampled instruments, then compiles the same payload into a multi-track MIDI file in the browser. Micro-timing survives instead of being quantised, so an instruction like "beat 1.63 duration 0.58" is scheduled exactly where it falls. Chord symbols are resolved through a music theory library and voiced basic, jazz, or wide; the performance moves between a classic grand, a bright piano, a Rhodes and a jazz guitar, and a full-width virtual keyboard shows what is sounding — or a Zen mode hides all of it and leaves only the text. Every sample is stored locally, so the whole thing runs offline.
A generative MIDI sequencer that runs entirely in the browser, offline, and keeps nothing on a server.
Eleven module types — drum, bass, acid, chords, arp, piano, euclid, synth, drone, CC and mod — generated deterministically from a seed, racked together over a shared mixer with per-channel meters, sends and a filtered delay and room tail. The clock runs at 24 PPQ on absolute timestamps so Web MIDI stays in time with the internal voices, and the same project exports as a Type 1 SMF, an offline WAV mix, or zipped per-track stems. Mutation is a choice rather than a dice roll: levels one to four apply a known number of deterministic changes, downbeats and hand-edited lanes survive, and revert restores the whole prior seed. A piano roll with a velocity lane and scale-degree transforms sits beside it, twenty bundled demo projects rebuild recognisable rhythmic archetypes from the instrument's own generators, and the whole thing installs as an offline PWA that reaches the rack on a phone as readily as on a desktop.
An oracle that walks a web of words and narrates a continuous story out loud.
A generative narrative piece: a linguistic oracle traverses a force-directed graph of words and fragments, spinning a story in real time and voicing it through the browser's speech synthesis. The graph is drawn on Canvas over a physics simulation, with the traversal held in a single shared store so the picture and the voice can never disagree, and flow speed, voice speed and a glitch layer stay yours to move while it runs. The whole thing is an exploration of where structure ends and chaos begins in automated storytelling.
A webcam piece that rebuilds you out of plastic bricks and lets you knock the pixels loose.
Turns a live webcam feed into a brick mosaic with twelve rendering modes — circles, hexagons, ASCII, emoji — across four palettes, plus halftone, chromatic aberration, wave, and ghost-trail effects. Hand tracking opens a "reality window" where your hand masks the low-res grid back to the raw video, and in physics mode your hand collides with the bricks and knocks them loose to fall under gravity.
hidden found
Index
About
I design and build for the web from Barcelona — interfaces, tools, and the occasional instrument.
This page asks one question: what is worth keeping? The wall collects other people's answers. The field collects mine — things that started as something I wanted to exist, like a way to split a song into stems without uploading it anywhere, a calculator that still works when the studio Wi-Fi does not, or a webcam you can put your hand through. They are built to be used, not to be looked at.
I also run Illa dels Bous, a small web studio, where the client work happens. Available for project or hourly work.