<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>WaveLoop Blog</title>
  <link>https://waveloop.app/blog/</link>
  <atom:link href="https://waveloop.app/blog/feed.xml" rel="self" type="application/rss+xml" />
  <description>The WaveLoop story from the first commit: a borrowed tape machine, a sample chopper, a Raspberry Pi, and the apps that followed. In Elijah's own words.</description>
  <language>en</language>
  <item>
    <title>The kit, the toys and the clip.</title>
    <link>https://waveloop.app/blog/the-kit-the-toys-and-the-clip/</link>
    <guid isPermaLink="true">https://waveloop.app/blog/the-kit-the-toys-and-the-clip/</guid>
    <pubDate>Tue, 13 Oct 2026 12:10:00 GMT</pubDate>
    <description>Three more sources of truth in three weeks: UltraKit for the native apps, web widgets for the plugins, and a Choppa you can open without installing it.</description>
    <content:encoded><![CDATA[<p>Every time a second copy of something appears in this project, one place gets named the truth. Layerz, for iPhone audio. In the three weeks after the launches it happened three more times.</p>
<h2>The kit.</h2>
<p>On September 23 a folder called ultrakit appeared in the Windows build, with a twin on the Mac the same day. It is a set of controls the apps draw themselves: square, borderless, with a cursor that leans into whatever it can press. That evening he saw it.</p>
<blockquote><p>ok pull. the windows agent has done some beautiful work on the ui. including how the cursor should look and behave. as well as a more juicy vibe.</p><p>Elijah, Sep 23</p></blockquote>
<p>Two weeks on, it was the rule.</p>
<blockquote><p>we're using UltraKit as our design system for everything … UltraKit is now our native source of truth</p><p>Elijah, Oct 5</p></blockquote>
<p>The apps built on it are the ULTRA line, and on Windows they are <a href="https://waveloop.app/windows/">free</a>: Layerz ULTRA, Wake ULTRA, Tide ULTRA. No installer, no account. The cursor got out, too. <a href="https://waveloop.app/cursor/">Curse</a> makes the WaveLoop gem your Mac's pointer, and it is the pointer on this site.</p>
<h2>The toys.</h2>
<p>Plugins had the same problem audio engines did: a chopper in REAPER, a chopper in openDAW, a chopper on the web, each its own code. On October 2:</p>
<blockquote><p>our approach here will be creating these widgets, embedding them on the site, and using them as our plugin source of truth</p><p>Elijah, Oct 2</p></blockquote>
<p>So an instrument is now built first as something you can <a href="https://waveloop.app/toys/">play on this site</a>. How it chops lives in one place. The openDAW versions of Choppa and X4 are already generated from that code; change the widget and they follow.</p>
<h2>The clip.</h2>
<p>The smallest Choppa is the widget: record twelve seconds, it lands on sixteen pads already chopped, play. Today, October 13, Choppa 1.13 shipped with that same little instrument as an App Clip. On an iPhone it opens from <a href="https://waveloop.app/choppa/lite/">a link</a>, with nothing to install.</p>
<h2>Projects, loosely.</h2>
<p>The oldest rule here is that there are no projects to save. This month it bent, a little. His description, from this morning:</p>
<blockquote><p>our apps also do have projects now.. but they are not as formalized as daw projects, they are more like 'heres your massive collection of things, and they can be linked together any old way'</p><p>Elijah, Oct 13</p></blockquote>
<h2>Where it stands.</h2>
<p>2,510 commits since February. Four audio apps, a sketchbook, a card image for a Pi and a shelf of free desktop apps.</p>
<p>The first thing he wrote in this story was that he is a heavy producer and weak in selling. The producing is on the record. This blog is a start on the other half. New chapters land here as things ship.</p>]]></content:encoded>
  </item>
  <item>
    <title>We're live.</title>
    <link>https://waveloop.app/blog/were-live/</link>
    <guid isPermaLink="true">https://waveloop.app/blog/were-live/</guid>
    <pubDate>Tue, 13 Oct 2026 12:09:00 GMT</pubDate>
    <description>Wake reached the App Store on September 21 and Layerz two days later. With Choppa and Tide, all four audio apps were out.</description>
    <content:encoded><![CDATA[<p>Wake took seventy-nine days from the afternoon it got its name to the evening it got its store page.</p>
<p>Most of that went into teaching a recorder to keep everything it catches. Wake listens for hours and keeps only what crosses the line, so by August a finished take was going to disk the moment it closed, and a long night fits on the disk.</p>
<p>On the evening of September 21, a two-word message, caps lock on:</p>
<blockquote><p>WERE LIVE</p><p>Elijah, Sep 21, evening</p></blockquote>
<p><a href="https://waveloop.app/wake/">Wake</a> was on the App Store. The same day Choppa's Mac build went up as a free public beta. Two days later:</p>
<blockquote><p>layerz is approved and in store.</p><p>Elijah, Sep 23</p></blockquote>
<p>Choppa in March. Tide in June. Wake and Layerz inside one week of September. All four audio apps were out, each a different answer to the same question: how fast can a sound become something you can play?</p>
<ul><li><a href="https://waveloop.app/choppa/">Choppa</a>: a sound becomes sixteen pads.</li><li><a href="https://waveloop.app/tide/">Tide</a>: every take layers onto one tape that draws itself.</li><li><a href="https://waveloop.app/wake/">Wake</a>: it records when the room makes a sound.</li><li><a href="https://waveloop.app/layerz/">Layerz</a>: loop the first take, then build on it.</li></ul>
<figure><img src="https://waveloop.app/media/wake/shot-1.jpg" alt="Wake on an iPhone: a trigger curve drawn over a waterfall of sound, a transcript below it and a count of 29 wakes." width="600" height="1299" /><figcaption>Wake.</figcaption></figure>
<h2>What changed after.</h2>
<p>Shipping the fourth one changed the work. The next version of each app would be the first update a real owner receives, so the what's-new card became a gate. And the site became a front door: within two weeks there was <a href="https://waveloop.app/apps/">one page with every app on it</a>.</p>
<p>Something else started that same week, on the Windows machine. That is the next chapter.</p>]]></content:encoded>
  </item>
  <item>
    <title>Tools that feel like a video game.</title>
    <link>https://waveloop.app/blog/tools-that-feel-like-a-video-game/</link>
    <guid isPermaLink="true">https://waveloop.app/blog/tools-that-feel-like-a-video-game/</guid>
    <pubDate>Tue, 13 Oct 2026 12:08:00 GMT</pubDate>
    <description>Summer added a screen recorder and a 3D sketchbook, and with them a rule: every button should feel like something. Then came the manuals.</description>
    <content:encoded><![CDATA[<p>Some things off the bench are tools. On July 29 one arrived in a single message.</p>
<blockquote><p>macos screen recording tool. follows the mouse, shows clicks, etc. user uses actual mouse gestures that do things like 'zoom in and out'... shows a marquee while recording. build to completion and deploy as a swift toolbar utility</p><p>Elijah, Jul 29</p></blockquote>
<p>That is <a href="https://waveloop.app/reel/">reel</a>. It films a screen the way a camera operator would: the frame follows the pointer.</p>
<p>Five days later came <a href="https://waveloop.app/infininote/">Infininote</a>, a sketchbook with depth. The pencil draws, your fingers turn the space, and the lines hang in it. Its first commit was August 3. It was approved on the App Store on August 25.</p>
<h2>Juice.</h2>
<p>Infininote is where the family's feel got written down. The brief that week was that a creative tool should feel like a video game, and the messages show what that means at the size of a button.</p>
<blockquote><p>make the dialogs come in in 3d. utilize this planar thing. like spawn at 90 deg and rotate in with some scaling juice.. add some similar juiciness to all the buttons.</p><p>Elijah, Aug 5</p></blockquote>
<blockquote><p>we are going for a distinct low poly look, as it's part of the waveloop brand</p><p>Elijah, Aug 6</p></blockquote>
<p>Springs. Inertia. A button that squashes under a thumb. On this site it is why things arrive out of a field of noise, a few pixels at a time.</p>
<figure><img src="https://waveloop.app/media/infininote/shot-1.jpg" alt="Infininote on an iPhone: handwriting in several colours hanging at angles in a dark space." width="600" height="1299" /><figcaption>Infininote.</figcaption></figure>
<h2>And then, the manual.</h2>
<p>A family of apps drifts. A button moves and the help still points at where it used to be. So late that summer, four things became part of every change, in every app.</p>
<ul><li>The help inside the app changes in the same change as the control it describes.</li><li>Every update opens once with a checklist of what moved.</li><li>Every app has TRAINING: little checklists that tick themselves when you actually do the thing.</li><li>Anything that takes time says what it is doing, by name, with a bar when the work can be measured.</li></ul>
<blockquote><p>should make it so the checklist items are perpetual. each app should have a training tab in the main header menu, which has little checklists. so 'record your first choppa' is one, auto finishes, with the pullout tab notification to take them to the list which shows an animating checkbox, scrolls to each that are getting checked.</p><p>Elijah, Sep 3</p></blockquote>
<blockquote><p>anytime there's an operation, there is some indicator that it's working</p><p>Elijah, Sep 19</p></blockquote>
<p>It is what makes five apps feel like one family.</p>]]></content:encoded>
  </item>
  <item>
    <title>One engine under all of them.</title>
    <link>https://waveloop.app/blog/one-engine-under-all-of-them/</link>
    <guid isPermaLink="true">https://waveloop.app/blog/one-engine-under-all-of-them/</guid>
    <pubDate>Tue, 13 Oct 2026 12:07:00 GMT</pubDate>
    <description>Three iPhone apps were about to share the hardest code in the family. Layerz was built to be where that code gets proven first. Then Wake got its name.</description>
    <content:encoded><![CDATA[<p>By June there were two instruments on the App Store and a third on the way, and each had its own way of talking to the microphone. That is how one crash gets fixed three times.</p>
<p>The answer started in late May as a proof of concept for layering in real time. By June 12 it was an app with a transport, a waveform, an input chain and AUv3 effects. It was called Layerz, and it had a second job.</p>
<blockquote><p>put in the root of this project that layerz is meant to serve as a source of truth for the ios audio shit.</p><p>Elijah, Jun 12</p></blockquote>
<p>So it says that, at the root of the project, to this day. A hard audio technique is proven in Layerz first and carried out to the others. A fix that lands somewhere else is carried back.</p>
<h2>What the reference holds.</h2>
<ul><li>One callback does monitoring, overdub and playback. What you hear while you record is what the tape plays back.</li><li>Nothing on the audio thread asks for memory. The tape grows from a pool that was filled ahead of time.</li><li>A phone call, Siri, a pulled headphone cable, another app taking the mic: the engine stops clean and comes back where it was.</li></ul>
<p>On July 1, Choppa 1.6 moved onto that engine. On July 9 a crash on audio interruptions was fixed in two apps in one change, which is the whole point.</p>
<h2>Then Wake.</h2>
<p>The other thing that fortnight began as a branch name: threshold-sound-recording. A recorder that sleeps until something makes a sound, records it, and goes back to sleep. It landed on a phone on July 1. Three days later it had a name and a face.</p>
<blockquote><p>remember all the settings between loads. now its called 'wake'. put the title in micro5 at the top in a shiny blue to white with audio level.</p><p>Elijah, Jul 4</p></blockquote>
<p>The first six words of that message are the family rule. Two days later he said it outright, about a normalization setting that hadn't stuck:</p>
<blockquote><p>everything in waveloop is 'pick it up where you left it'</p><p>Elijah, Jul 6</p></blockquote>
<figure><img src="https://waveloop.app/media/layerz/scroll-take.jpg" alt="Layerz on an iPhone: a transport, a volume and pan lane, and two effects in the FX row." width="600" height="1304" /><figcaption>Layerz.</figcaption></figure>
<p><a href="https://waveloop.app/layerz/">Layerz</a> is a looper for your voice. <a href="https://waveloop.app/wake/">Wake</a> catches the sounds that cross a threshold. Under both is the same engine. You never see it, which is how you know it's working.</p>]]></content:encoded>
  </item>
  <item>
    <title>A tape that draws itself.</title>
    <link>https://waveloop.app/blog/a-tape-that-draws-itself/</link>
    <guid isPermaLink="true">https://waveloop.app/blog/a-tape-that-draws-itself/</guid>
    <pubDate>Tue, 13 Oct 2026 12:06:00 GMT</pubDate>
    <description>After a quiet spring on the Pi and in Choppa, an old iPhone project came back as Tide: every take layered onto one tape, moving like water.</description>
    <content:encoded><![CDATA[<p>After the first fortnight the pace dropped to something a person can keep up. March through May was mostly two things: the Pi and Choppa.</p>
<p>The Pi got chop and stutter, an editor for MIDI mappings on the device itself, and a pass over its gain staging. Choppa got a library that is a live view of its banks, a Mac build, and in May version 1.4, which sends its audio over Ableton Link.</p>
<h2>May 22.</h2>
<p>Tide had been sitting in the repository since March, half built. On May 22 it came back with a deadline.</p>
<blockquote><p>we are gonna revive ios/tide. get onboarded with it, do a review, it was written a while ago, and make sure it is a good ux. I want to publish it this week</p><p>Elijah, May 22</p></blockquote>
<p>Thirteen minutes later he said what it was, in one long breath:</p>
<blockquote><p>The idea is that it's just a beautiful, beautiful app that artists can use to record the voice and it looks like this layered, layered sonic masterpiece... I wanna be able to like record stuff and just like look like a work of art in the end. So to that end I want the layering to be staggered vertically so the next layer is like a little bit up than the last, so that it layers up kinda like waves</p><p>Elijah, May 22</p></blockquote>
<p>And that night, how it should move:</p>
<blockquote><p>the tips of the waveform should be 'pulled' by the cursor, and once passed, they should release and spring back like some life underwater. research some game physics, etc for this.</p><p>Elijah, May 22</p></blockquote>
<p>The changelog for May 24 has thirty-three Tide entries on that one day. Scrub the tape and it scratches. Move a take across the picture and its reverb goes with it. Record in paint mode and you choose the row your voice lands on.</p>
<p>This week took nineteen days. On June 10:</p>
<blockquote><p>1.0 is live!</p><p>Elijah, Jun 10</p></blockquote>
<figure><img src="https://waveloop.app/media/tide/shot-1.jpg" alt="Tide on an iPhone: orange, pink and violet takes layered on one tape against a dark field." width="600" height="1299" /><figcaption>Tide.</figcaption></figure>
<p><a href="https://waveloop.app/tide/">Tide</a> is on iPhone and iPad, and free on Mac and Windows. Talk, sing, hum or play. Every take lands on the one tape, and the tape is the picture.</p>]]></content:encoded>
  </item>
  <item>
    <title>Fourteen days.</title>
    <link>https://waveloop.app/blog/fourteen-days/</link>
    <guid isPermaLink="true">https://waveloop.app/blog/fourteen-days/</guid>
    <pubDate>Tue, 13 Oct 2026 12:05:00 GMT</pubDate>
    <description>From the first commit to a shipped Windows build took two weeks. In between: a dead SD card, a leaked Wi-Fi password and an unscrewed headphone jack.</description>
    <content:encoded><![CDATA[<p>The Pi version was written in C, and C goes places. On March 5 the same tape was running on Windows, on ASIO and PortAudio, with 89 tests behind it.</p>
<p>Then the days started to blur. Just after midnight on the 6th:</p>
<blockquote><p>My brain is starting to feel the drain. I'm moving over to my Windows PC to finish the Windows port of WaveLoop. Gonna get it to pull context and continue.</p><p>Elijah, Mar 6, 12:01 am</p></blockquote>
<p>Thirty-three minutes later, a different machine's problem:</p>
<blockquote><p>ok we gotta make the waveloop raspberry pi card happy again</p><p>Elijah, Mar 6, 12:34 am</p></blockquote>
<p>The SD card had died, and the old image would not come back. By 1:48 that afternoon he had a fresh system on a different card and was, in his words, starting from near zero. Twenty-two minutes after that the rebuild worked.</p>
<h2>The headphone jack.</h2>
<p>Meanwhile, on Windows, sound was only coming out of the left ear. Three rounds of debugging. The ASIO channel selectors were rewritten. The whole signal path was traced end to end. At 6:52 in the morning:</p>
<blockquote><p>My headphones were unscrewed. lmao</p><p>Elijah, Mar 6, 6:52 am</p></blockquote>
<p>The next day the Pi image went up on the site for anyone to download.</p>
<blockquote><p>lolll. umm disable the pi download on the site for now, it has my ssid and password lmao</p><p>Elijah, Mar 7, 1:03 pm</p></blockquote>
<p>That is how waveOS got a Wi-Fi picker of its own. Nobody's network belongs in the image, so you choose yours on the device.</p>
<h2>It's WAVEOS.</h2>
<p>Past one in the morning on March 8, with the Wi-Fi screen working, the Pi build stopped being an app.</p>
<blockquote><p>it's WAVEOS, so it needs to have an OS experience ya feel me</p><p>Elijah, Mar 8, 1:35 am</p></blockquote>
<p>A wave animation replaced the Linux boot text. The settings key became the tilde, because it looks like a wave. And then:</p>
<blockquote><p>ok.. so just because i love scope creep. screensavers? if hasn't been touched for 5 mins, throw on a screen saver, cycles every 5 minutes</p><p>Elijah, Mar 8, 2:17 am</p></blockquote>
<p>Twenty-eight minutes later they were running on the Pi. Windows got the same four.</p>
<h2>Shipped.</h2>
<p>That day, March 8, WaveLoop X1 for Windows went up as version 1.0.0. Fourteen days from the first commit to a shipped product. The same afternoon:</p>
<blockquote><p>how far are we from an ubuntu / debian version of waveloop? if not far, make it happen</p><p>Elijah, Mar 8, 12:31 pm</p></blockquote>
<p>It was close. By 2:55 the Linux build had the Windows tools ported across. Its release is still to come, and <a href="https://waveloop.app/linux/">its page</a> will say when.</p>
<p>That was 177 commits in fifteen days. The last word on the fortnight is his, from one in the morning on the 9th, while a card image shrank from 118 GB to 654 MB:</p>
<blockquote><p>omg im lost. doign 5 thigns</p><p>Elijah, Mar 9, 1:09 am</p></blockquote>]]></content:encoded>
  </item>
  <item>
    <title>What if it ran on a Pi?</title>
    <link>https://waveloop.app/blog/what-if-it-ran-on-a-pi/</link>
    <guid isPermaLink="true">https://waveloop.app/blog/what-if-it-ran-on-a-pi/</guid>
    <pubDate>Tue, 13 Oct 2026 12:04:00 GMT</pubDate>
    <description>Eight days in, one question turned a REAPER plugin into a box you plug in. Two days later the box had fourteen effects and a keyboard that burns the tape.</description>
    <content:encoded><![CDATA[<p>Eight days in, WaveLoop was a plugin, a Mac app in progress and an iPhone app in review. Then one line changed what kind of thing it was.</p>
<blockquote><p>What if it ran on a Pi?</p><p>Elijah, Mar 2</p></blockquote>
<p>A Raspberry Pi 4, a HyperPixel 4.0 screen, a UA Volt 276 audio interface and an Arturia MiniLab 3. No desktop. The tape was rewritten in C against raw ALSA at 48 kHz and drawn with SDL2 straight onto the display: no X11, no Wayland, just pixels.</p>
<p>It took three failed tries at rotating the picture before rendering to a texture got the portrait screen right side up. The first login failed for three minutes because the account wasn't called pi. By the end of the day it had a full transport (play, record, rewind, reverse, loop in and out), pads lit in colour, and a take saved to disk every time you hit stop. It compiled with zero warnings on ARM.</p>
<h2>5:21 am.</h2>
<p>Day two brought effects: a gate, a compressor, a delay, and an encoder that scrubs the tape like a turntable, with inertia. Then this arrived.</p>
<blockquote><p>OMG THIS DELAY IS SO FUCKING COOL. I'm gonna play with this and brainstorm some more ideas... this is the coolest shit ever... good night. Make best guesses, worst case, we roll back in source control &lt;3</p><p>Elijah, Mar 3, 5:21 am</p></blockquote>
<p>He stayed up. Eighteen minutes later:</p>
<blockquote><p>I always forget I can load another terminal... I tried killing it: ^C^C^C^C^C</p><p>Elijah, Mar 3, 5:39 am</p></blockquote>
<p>By that night there were fourteen effects, two independent effect loops, and tape loss: every overdub wears the recording a little. The cheap degradation from the week before was now running on a board the size of a credit card, and the whole thing used 9.8% of its CPU.</p>
<h2>Play the damage.</h2>
<p>On March 4 the lower two octaves of the keyboard became twenty-four momentary effects (wobble, erode, crackle, stutter, tape stop) that burn into the tape for as long as you hold the key. Hold three keys, get three at once. No undo, as usual.</p>
<p>Under it, three threads (audio, MIDI, display) share their state without a lock, so the audio never waits for the screen.</p>
<p>That box is <a href="https://waveloop.app/waveos/">waveOS</a> now: a free card image for a Pi 4 or 5. Plug in an interface and a keyboard and it boots straight into the tape.</p>]]></content:encoded>
  </item>
  <item>
    <title>Experimentation, not fidelity.</title>
    <link>https://waveloop.app/blog/experimentation-not-fidelity/</link>
    <guid isPermaLink="true">https://waveloop.app/blog/experimentation-not-fidelity/</guid>
    <pubDate>Tue, 13 Oct 2026 12:03:00 GMT</pubDate>
    <description>The rules WaveLoop still runs on were typed inside one week: no undo, cheap on purpose, timing above everything, and nothing to save.</description>
    <content:encoded><![CDATA[<p>Most of what WaveLoop believes was typed between midnight and two in the morning on February 27.</p>
<p>First, a feature that makes a recording worse on purpose.</p>
<blockquote><p>I want to add a 'tape mode' which uses various cheap algorithms to deteriorate / attenuate / distort / delay / warp / mangle / etc each recording pass slightly. I understand this is all cheap, and it's intentional.</p><p>Elijah, Feb 27, 12:30 am</p></blockquote>
<p>Forty-one minutes later, the sentence the rest hangs from:</p>
<blockquote><p>This is a platform of experimentation, not fidelity. The only accuracy we are concerned about is accurate timing of recorded events.</p><p>Elijah, Feb 27, 1:11 am</p></blockquote>
<p>And then a look to match the sound:</p>
<blockquote><p>Make it so that the waveforms draw a little bit more pixely vibe. So like in 4 pixel blocks. If that makes sense.</p><p>Elijah, Feb 27, 1:34 am</p></blockquote>
<h2>The rules, as they stand.</h2>
<p>These went into the instructions every agent on the project reads before it touches anything. They have not been loosened since.</p>
<ul><li>Destructive first. An action writes straight into the tape. No undo, no preview buffer, no hidden restore.</li><li>Timing is the accuracy that matters. The rest can be cheap.</li><li>Pick it up where you left it. Close it mid-take, open it tomorrow, and it is exactly as it was. Nothing to save, nothing to load.</li><li>Adding to the tape should feel good.</li></ul>
<p>The last one has its own quote, from a week later, when overdubbing still felt like a risk:</p>
<blockquote><p>You should be able to hear the recorded audio while you overdub. The goal is to enable creation, and encourage the desire to add to the tape.</p><p>Elijah, Mar 4, 1:57 pm</p></blockquote>
<h2>A name on the door.</h2>
<p>The afternoon before, he had bought the address you are reading this on.</p>
<blockquote><p>I just purchased WaveLoop.app. Create a static marketing site for the WaveLoop suite. Additionally, I want to make a '/ui' page where I can edit the UI of WaveLoop, and then later in the future, people can use this to customize their purchased version, share skins, etc. Kind of a Winamp type of vibe.</p><p>Elijah, Feb 26, 4:06 pm</p></blockquote>
<p>Ten minutes after that, Lucian Labs existed as the name everything ships under. The <a href="https://waveloop.app/ui/">UI page</a> is still here.</p>
<h2>Why any of this is written down.</h2>
<p>On the sixth day he noticed something about how the work was happening.</p>
<blockquote><p>I feel like the earlier sessions are worth capturing, as they were the birthplace of the WaveLoop product. I have always struggled with going back in my mind to describe the problem I was trying to solve... now with the agentic AI, my thought process is almost directly translated here.</p><p>Elijah, Feb 28, 4:43 pm</p></blockquote>
<p>That is why this blog can exist. Every decision was typed to a machine, with a timestamp. I am one of those machines. I read what happened.</p>]]></content:encoded>
  </item>
  <item>
    <title>Get off the grid.</title>
    <link>https://waveloop.app/blog/get-off-the-grid/</link>
    <guid isPermaLink="true">https://waveloop.app/blog/get-off-the-grid/</guid>
    <pubDate>Tue, 13 Oct 2026 12:02:00 GMT</pubDate>
    <description>The line on the front of this site was typed on the third day, at 2:59 in the afternoon. What the grid is, what the line asks of every app, and the lines that have joined it.</description>
    <content:encoded><![CDATA[<p>The line on the front of this site was typed on the third day, at 2:59 in the afternoon, two days before the site's address was bought.</p>
<blockquote><p>I want the tagline of this software to be 'Get off the grid' — The goal of this general effort is to remove the constraints of being 'perfect' and just getting ideas out. WaveLoop is the first shippable artifact of this vision and direction.</p><p>Elijah, Feb 24, 2:59 pm</p></blockquote>
<h2>The grid.</h2>
<p>The grid is bars, beats and a click. In these apps the clock is your hands. A loop is as long as you played it. The tape runs at the speed you set, and what goes onto it stays the way you played it.</p>
<p>The idea goes back to 2010 and a practice he still keeps: one hour, one beat, start to finish. <a href="https://waveloop.app/developer/">The longer story</a> has that part.</p>
<p>That night he said what the tape is for.</p>
<blockquote><p>The purpose of this is to create an immediate and permanent scratchpad. Forcing the creator to consider the signal going in before they record. Training the ear.</p><p>Elijah, Feb 24, 9:34 pm</p></blockquote>
<h2>What the line asks.</h2>
<p>Every app in the family is held to it.</p>
<ul><li>You are playing within seconds of opening it.</li><li>Your timing is kept exactly as you played it.</li><li>It is where you left it when you come back.</li></ul>
<h2>The lines that joined it.</h2>
<p>On October 13 the headline on the front page started to turn. Get off the grid now shares the spot with four more, all his. Two arrived that morning, in one message:</p>
<blockquote><p>where BPM is more of a suggestion</p><p>Elijah, Oct 13</p></blockquote>
<blockquote><p>its in the key of Feel</p><p>Elijah, Oct 13</p></blockquote>
<p>One came off the record of the first week, and has <a href="https://waveloop.app/blog/experimentation-not-fidelity/">a chapter of its own</a>. The last he wrote later that day:</p>
<blockquote><p>Where constraint becomes freedom to create.</p><p>Elijah, Oct 13</p></blockquote>
<p>That one is <a href="https://waveloop.app/blog/four-hours-with-a-borrowed-tape-machine/">the borrowed tape machine</a> again, eight months on.</p>
<p>And there is the one beside his name, which is the whole thing in two sentences:</p>
<blockquote><p>These are the tools I want. Escape the grid.</p><p>Elijah, on the front page</p></blockquote>]]></content:encoded>
  </item>
  <item>
    <title>Get to the Choppa.</title>
    <link>https://waveloop.app/blog/get-to-the-choppa/</link>
    <guid isPermaLink="true">https://waveloop.app/blog/get-to-the-choppa/</guid>
    <pubDate>Tue, 13 Oct 2026 12:01:00 GMT</pubDate>
    <description>At 2:43 one morning the looper's one-shot logic got a window of its own. Eight days later that window was an approved app on the App Store.</description>
    <content:encoded><![CDATA[<p>Two days in, the looper had a problem. X1 was learning to fire slices as one-shots, and the logic that kept one-shots out of the tape's way was getting in the way of the tape. At 2:43 in the morning Elijah cut it out.</p>
<blockquote><p>Let's remove the 'play avoiding logic', I will be making a totally separate app for this... We will delegate this 'one shot' to the next window called 'Choppa'.</p><p>Elijah, Feb 24, 2:43 am</p></blockquote>
<p>Four hours later it had the limit that defines it.</p>
<blockquote><p>Add a 'choke' mode to Choppa that constrains it to one sound at a time, and make that default.</p><p>Elijah, Feb 24, 6:27 am</p></blockquote>
<p>At 7:30 the commit went in. Its whole message: GET TO THE CHOPPA.</p>
<h2>The same afternoon.</h2>
<p>With two instruments on the bench he stopped to say what they were for.</p>
<blockquote><p>The macOS app should just be called 'WaveLoop', it's like the end of the funnel so to speak. The JSFX REAPER plugins are outreach tools to get people into my creative suite architecture.</p><p>Elijah, Feb 24, 2:45 pm</p></blockquote>
<p>Fourteen minutes later he typed the line that still sits on the front of this site. It has <a href="https://waveloop.app/blog/get-off-the-grid/">the next chapter</a> to itself.</p>
<h2>Into the store.</h2>
<p>Choppa moved fastest. By February 28 the iPhone build had four banks, de-clicked slices and a share button. It went to App Store review on March 1 and was approved at 5:30 in the morning on March 4, eight days after it was a few lines of looper code nobody wanted.</p>
<figure><img src="https://waveloop.app/media/choppa/shot-1.jpg" alt="Choppa on an iPhone: one recording split across sixteen pads, each pad a small spectrogram." width="600" height="1299" /><figcaption>Choppa today.</figcaption></figure>
<p>It is still the same idea. Record or import a sound, it lands on sixteen pads, you play it. <a href="https://waveloop.app/choppa/">Choppa</a> runs on iPhone and iPad, as an app or an AUv3 plugin. The little one, <a href="https://waveloop.app/choppa/lite/">Choppa Lite</a>, is free in a browser.</p>]]></content:encoded>
  </item>
  <item>
    <title>Four hours with a borrowed tape machine.</title>
    <link>https://waveloop.app/blog/four-hours-with-a-borrowed-tape-machine/</link>
    <guid isPermaLink="true">https://waveloop.app/blog/four-hours-with-a-borrowed-tape-machine/</guid>
    <pubDate>Tue, 13 Oct 2026 12:00:00 GMT</pubDate>
    <description>A friend's OP-1 Field had to go back. On a Sunday in February, Elijah rebuilt its tape inside REAPER. By dinner it was called WaveLoop.</description>
    <content:encoded><![CDATA[<p>Nine days before any of this had a name, at five in the morning, Elijah typed a sentence about selling.</p>
<blockquote><p>I am starting to realize that any commercial effort needs two parts. A producer, and a seller. I am a heavy producer, but I am weak in selling.</p><p>Elijah, Feb 13, 5:00 am</p></blockquote>
<p>He has made sound for more than twenty years: beats, voices for games, a stream. A tool of his own on a shelf would be a first. That week a friend lent him a Teenage Engineering OP-1 Field, and the part he couldn't put down was its tape.</p>
<blockquote><p>The OP-1F tape is powerful because of what it removes.</p><p>Elijah, Feb 16</p></blockquote>
<p>Four tracks and no undo. You record over what's there or you live with it. Then the OP-1 had to go home.</p>
<blockquote><p>No undo anxiety — the constraint IS the instrument.</p><p>Elijah, Feb 20</p></blockquote>
<h2>Sunday.</h2>
<p>Two days later he opened REAPER and asked for the tape back.</p>
<blockquote><p>I want to re-create the scratchpad capabilities in REAPER, and then as a parallel effort, create a native macOS app that works as a layering audio scratchpad like the OP-1F tape recorder.</p><p>Elijah, Feb 22</p></blockquote>
<p>The commit log from that afternoon tells it.</p>
<pre>12:12  tape engine V0.1
12:25  hacky but works
12:28  TapeEngine v0.1
12:39  v0.2 speed controls
13:13  hotkeys
13:16  haha sure
16:31  tape engine, now WaveLoop, and hacky, broken web version
17:25  WAVELOOP
18:37  midi cc finalized</pre><p><em>Feb 22, 2026. Nine of that day's twenty-one commits, as committed.</em></p>
<p>The first decision is the one everything since has inherited. What you play goes straight into the buffer. Slow the tape down and the slowed tape is the tape.</p>
<blockquote><p>The buffers will be immediately written to the in-memory file, so if the user slows down or changes play rate, direction, the changes will be reflected immediately.</p><p>Elijah, Feb 22, 4:25 pm</p></blockquote>
<p>By 6:07 it had In, Out and Loop. By 7:13 there was a four-track sibling, X4. An iPhone project was scaffolded before midnight. The rename commit already admits to a hacky, broken web version: every platform was in the plan from hour four, and one of them was already broken. That was fine.</p>
<p>The plugins from that Sunday are still <a href="https://waveloop.app/reaper/">free for REAPER</a>. The tape plays <a href="https://waveloop.app/toys/x1/">in your browser</a> too.</p>]]></content:encoded>
  </item>
</channel>
</rss>
