LoopLlama v2 released
LoopLlama is a browser-based YouTube controller for close study of videos: slow down or speed up playback; loop part of a video; mark important moments; and now, with the release of LoopLlama v2, many other features and conveniences. This post summarizes the history of the project and provides an overview of the improvements that v2 made over v1.
The backstory
YouTube is the obvious destination for musicians to learn songs and study live performances, but its controls are clunky for this purpose: speed adjustments at the coarse level (25-point steps) are easy, but finer adjustments (5-point steps) require several mouse clicks. More to the point, YouTube has no looping feature at all — which is what a learning musician wants most when drilling a difficult passage.
Several web apps address that gap. The one I discovered first is SlowTube, which adds speed control and looping via keyboard shortcuts. It became my main learning tool.
In early 2023, I wrote my own alternative — LoopLlama v1 — to add something SlowTube lacked: persistent storage. When learning a song, you accumulate many loops, one for each passage you cannot readily decode at normal speed. Coming back to a song in SlowTube meant recreating all of them from scratch. LoopLlama v1 remembered your loops, provided a way to attach a short ID to your videos for quick navigation, and kept everything keyboard-driven.
But I was not a web developer. My background was large-scale data and backend systems, and it showed: v1 was useful to me, but not something most web users would tolerate.
LoopLlama v2
The new application looks and behaves like a modern web application — standard controls, responsive layout, and contextual feedback throughout. But v2 also addresses subtler problems that emerged as my own use of v1 expanded.
Names. V1 entities were either cryptically abbreviated (video IDs) or simply numbered (loops and marks ran 1 through 9). V2 allows, but does not require, the user to give everything a real name.
Structure. V2 supports two ways to divide a video into non-overlapping segments: sections (parts of a song) and chapters (larger units, like songs in a concert). Both are fast to create, and once in place they become the basis for quick operations — jump to the start of any section, loop the current one, and so on.
Timeline. In v1, loops and marks were a cramped list of timestamps. V2 displays all entities — chapters, sections, loops, marks — on a visual timeline, with names shown directly (chapters and sections) or on hover (loops and marks).
Keyboard-first. Like v1, every operation in v2 is available via keyboard. V2 extends this with Vim-style multi-key bindings and contextual tooltips on every control showing the relevant key sequence.
Expanded help. V1 provided a table of its key bindings. V2 has full documentation for casual and power users alike, plus contextual labels and key binding hints when hovering over any control.
Reversibility. V1 offered no undo. V2 tracks both edit history (undo/redo) and navigation history (back/forward through jumps larger than 15 seconds).
Backup and sync. V1 let you export a JSON file, but import was all-or-nothing: a wholesale replacement of your library. V2 supports optional cloud backup via Google or GitHub sign-in. All data operations work per video, with a clear accounting of which videos exist in which location and which copy is newer, so you control what to keep.
Links and more
LoopLlama v2 is available now, as are its help docs and key bindings reference.
Two follow-up posts take up broader questions raised by v2. The first evaluates the fear that AI will cause mass unemployment, drawing on my background in economic history and my experience building v2 with an AI coding agent. The second examines computer interfaces — the mouse and keyboard as competing models for command input — drawing on the early history of computing to argue that the mouse-and-menus paradigm was a suboptimal outcome.