Case study 02 / 06 · blüp blupit.app · live · 2026 · free

blüp

Tap squares or write code. Same track, either way. We built a music maker that gives you sound in about thirty seconds and never eats your track.

Visit blupit.app →
Services
Brand, product, web app
Year
2026
Platforms
Web, desktop and phone
Pricing
Free
blupit.app
Layers in the code8 parts · 4 bars
kick
clap
hats
pulse
105
C
Minor
32

blupit.app · the sequencer, playingphone · the same trackthe videos are the app itself

Summary

blüp makes music in the browser. Open the page, press Play, and a loop is going in about thirty seconds. Tap squares or write code: same track, either way. We built it on Strudel in two days in September 2026, gave it about 2,000 sounds, and made it free.

The challenge

A blank editor scares people off. A sequencer eats what it cannot see.

Strudel brings TidalCycles to the web: a whole track from text, in a browser tab, nothing installed. The first thing it shows most people is an empty code editor, and most people close it.

Step sequencers are the friendly way in, but they own the pattern. The grid can only show the rows it knows about, and when it rewrites the file it will quietly delete the eleven parts it cannot see.

We wanted both ways in, in one tool, for people who have never written music code and people who have.

The approach

The code wins. The grid is a view of it.

  1. 01
    Every tap writes code, and the code panel shows it.

    Edit the code by hand and your edit drives playback until you touch the grid again. When an edit comes back to the grid it is spliced into the part it came from, or refused by name with the reason on screen. Never approximated. That rule replaced an earlier one that rebuilt the file, after a whole day of bugs.

  2. 02
    Every control proves itself.

    A control changes the code or says why it cannot. A test drives a real Chrome over all 96 controls before anything ships.

  3. 03
    Read by playing, not parsing.

    The layer panel reads a track by evaluating it through Strudel, never by running regex over the text. What you see is what plays.

  4. 04
    Nothing is lost.

    When the grid does take over, the old code and grid are both kept, and one button restores them byte for byte. The public line: it never eats your track.

  5. 05
    Sound first, account never.

    Pick one of eight genres and a whole loop plays: tempo, key, drums, bass and chords. No account to play, build or export. A free one adds Save, sharing and three AI edits per track.

Brandthree bars and an umlaut, in the font the code is written in
blüp logo: three violet bars and the word blüpLogo on near black #0c0d10
Type specimen · blüp's own face

Tap squares. Or write code.

The three bars on near black The three bars on violet The three bars on white The mark: three bars of a sequencer, mid-loop.

Near black so the lit squares are the brightest thing on screen, violet for what plays, mint for what answers. The whole interface is set in JetBrains Mono, because in blüp the grid and the code are the same thing. The name settled on September 25, 2026: blüp, at blupit.app.

Componentsreal UI, rebuilt in code

An instrument panel, not a settings page.

Every control sits on the same dark surface in the same monospace: transport, genres, lanes, presets, the code toolbar. Every piece here is rebuilt in code from the real screens: live, resizable, nothing invented.app.

Tokenscolor

Near black#0C0D10 Violet#6D47FF Mint#3DDC97 Panel#15161A

TypeJetBrains Mono

Aakick: s("bd bd ~ bd bd").gain(.85)JetBrains Mono · 400 and 700 · the grid and the code

Steps and lanes16 a bar

Kick (bd)
MS×BARS
All1234
Clap (cp)

Inputstempo · key · scale

105
C
Minor
32
Groove…
Kit
Kit…

Chipspresets · toolbar

SubAcidReesePluckGrowlClean
BellLeadArpFluteChime

Codethe same track

setcpm(105/4)

// MACHINE RHYTHM
kick: s("bd bd ~ bd bd")
    .gain(.85)

clap: s("~ ~ cp ~ ~")
    .gain(.35)

hats: s("hh ~ hh hh ~")
    .gain(.10)

// INDUSTRIAL SYNTH PULSE ~ WAY DOWN
pulse: note("d2 d2 ~ d2 d2")
    .s("square")
    .lpf(600)

ModalAsk AI

✦ Ask AI×

Describe a change in plain words and the model rewrites your pattern.

"make the bass darker" · "add an open hat on the offbeat" · "give it an 80s Miami feel"

It needs an account: three edits per track, and it has to know whose track it is. Free, and you keep everything you make.

Cardscommunity loops

Miami After Dark120 BPM · C Minorblüp
SaWaDISH140 BPM · F# Minorblüp
Be Loud and Park (Close By)132 BPM · A Majorblüp
Big Ishin'94 BPMblüp

Noticethe code is driving

The code has been edited by hand, so it is what plays. The grid below is the last one you built and is kept as it was. Touch it and it takes over, replacing the code.{ } Strudel code✦ Ask AI
Screens12 real screens · blupit.app on desktop and phone
blupit.app/about
About: music, made in the browser
About on an iPhone
Create an account, on an iPhone
blupit.app
The Strudel code panel open over the sequencer
blupit.app/community
Community loops
Community on an iPhone
Help on an iPhone
blupit.app/help
Help: how it works
blupit.app
The Ask AI panel over the sequencer
Credits on an iPhone
About on an iPhone, scrolling
Community on an iPad
The product

One track, three ways in, and a place to share it.

The grid, the code and a sentence to the AI all drive the same loop. Save it with a free account, post it to the community, or export it and leave. Every screen below is blupit.app as it runs today.

01 · One track, three ways

Tap the grid. Open the code. Or just say it.

  1. 01The gridEach row is an instrument, each square a sixteenth. Tap to toggle; the column lights up as it plays.
  2. 02The codeThe Strudel text is the same track. Edit it and your edit drives playback until you touch the grid again. 79 searchable hints sit beside it.
  3. 03Ask AIDescribe a change in plain words, like "make the bass darker", and the model rewrites the pattern. Three edits per track, free, with an account.
blupit.app
The blüp sequencer: Machine Hour, genres, layers, the drum grid The Strudel code panel open over the sequencer The Ask AI panel
02 · Community

Loops people chose to share. Open one and it plays.

Profiles, the community feed, moderation and the help page shipped on September 25, 2026, the second day. Save with a free account, share the link, or post it to the community page. Anything you hear can be opened and remixed.

blupit.app/community · desktop and phone
blupit.app/community
blupit.app community page, scrolling
blüp community on an iPhone, scrolling
03 · Nothing to install

Open the page. Sound in about thirty seconds.

No account to play, build or export. Work is kept in the browser as you go. Fav keeps a loop on this device, Save gives it a web address, Export gives you a WAV, a MIDI file or the code. The whole manual fits on one page.

blupit.app/help
blupit.app/help
blupit.app help page, scrolling: start, the grid, sounds, saving, export, the code panel
Everywherelaptop · iPad · iPhone · one URL
blupit.app
The sequencer on a laptop
The sequencer · laptop
The sequencer on an iPad
The sequencer · iPad
The sequencer on an iPhone
The sequencer · iPhone
Built to run

A Laravel app on our own server. Everything that makes sound runs in the tab.

  • EngineStrudel, in the browser

    The music blüp makes is Strudel, and the engine that plays it is @strudel/web, free software from Felix Roos and the TidalCycles family, loaded unmodified and credited on every page. Strudel exposes no master bus, so we patched a limiter into the audio graph.

  • Sounds218 banks, self-hosted, in a fixed order

    Dirt-Samples, 71 drum machines from tidal-drum-machines, 128 General MIDI instruments, VCSL, piano and mridangam. The load order is fixed so a saved track never changes sound.

  • ExportReal-time WAV, up to 64 bars

    Recorded as the loop plays, with the limiter on so loud loops do not clip. MIDI and the Strudel code export too, so a track can leave for any DAW or for strudel.cc. Tempo is read from the running code. Laravel 13, on a RunCloud server we run.

Where it stands

Live and free at blupit.app.

Play, build and export without an account; a free account adds Save, sharing, the community page and three AI edits per track. Known limits, documented in the open: one chord lane with four slots, pitched rolls snap to eight rungs, and no audio or vocal upload yet.

True numberscounted, not rounded up
  • 0sounds in 218 banks
  • 0drum machines, 808 and 909 included
  • 0searchable code hints
  • 0daysto build: September 24 and 25, 2026

Counts from blupit.app/about, /help and /credits and the blüp repository, October 2026.

Next case study · 03 / 06kidnights.com

KidNights

When can we see the kids? A family calendar that answers it from the custody order, for the parents and the family around them.

Read the KidNights case study →