issue 001  //  09.08.2026  //  16:04 theme  //  snd: off
menu
homepage / 002 ux + product / TIDAL · Record Pull05 / 07

TIDAL · Record Pull

NDA
the images on this page are under NDA.if you have the password, you know what to do.
TIDAL · 2026

Record Pull for TIDAL

a lot of music gets played as background now. Record Pull lets you save a song, a moment, or a lyric while it plays and tag what it did for you. i took a teammate's first version, designed the full concept, and built the alpha in the TIDAL Android app.

the alpha in TIDAL for Android, with the pull button in the player
roleproduct designer + Android engineer
skillsproduct strategy · interaction design · prototyping · Android engineering
stackHTML/JS prototypes · TIDAL's wave2 design system · Android
teamme and an Android engineer at TIDAL
timeline2026
the problem

people rarely have words for why a song hits them, and the first version of Record Pull asked them to type it out. most people don't write notes.

the work

i replaced the text box with tags, added a glossary that explains music vocabulary, and let a pull include the friends and places around it. i designed and prototyped it, then built the alpha in Android.

the outcome

pitched at TIDAL. the Android alpha runs on a feature branch with 244 passing unit tests.

the music never pauses. a quick pull is one tap and an optional note.design rule
chapter 01the first version
a whole-song pull
a moment pull
handed to me · a teammate's first build

the first version

it saved a whole song, a moment, or a lyric with a note, an emoji, and a crate.

it worked, but a blank text box asks a lot of a listener, and free text is hard to use for anything else.

chapter 02the full concept
prototype · full concept

tags, a glossary, and people and places

tags give listeners words for what they hear, the glossary explains each one, and tagging people and places ties a pull to where you were.

01 · tagging the craft, the feeling, and the connection
02 · the glossary, one plain sentence per craft term
03 · tagging the friends you were with and where you heard it
prototype · full concept

pulls in the app

collection is your private library in TIDAL, where crates sit next to playlists and albums. your profile is the page other people see, with your pinned pulls. the alpha has crates and pins. "your ear", resurfacing old pulls, crate matching, and the profile shelf weren't part of the scoped prototype or the alpha: we split up the work, and i was in charge of the main pull flow.

01 · crates, for sorting pulls, and people whose crates overlap with yours
02 · all your pulls, with "your ear": a summary of what you tend to tag
03 · your profile, with pinned pulls and one from a year ago
chapter 03scoping
cut for the alpha01

there were two of us, so i focused on what we could build well and get in front of listeners quickly. i checked each feature against services TIDAL already runs, tried the cuts in a second prototype, then built what was left.

01suggested tagscut for now: they need personalization jobs TIDAL doesn't run yet.
02"3rd listen" notescut for now: they need per-user listening history.
03tagging friendscut for now: it needs a notification path.
04reportkept, using TIDAL's existing user-reports service, so moderation works from the start.
the alpha in TIDAL for Android
pull this moment, in the Android alpha
Android alpha · feature branch

the pull sheet in the app

craft, feeling, and connection tags, your most-used tags first, the glossary one tap away, and the moment saved as a timestamp.

  1. 01next: tagging friends, and places as typed text so there's no location prompt
  2. 02next: connecting the real API
  3. 03later: the recording visual, suggested tags, and listening history
changes in the build02

the alpha keeps the core of the design and changes what the app can't support yet.

prototypeAndroid alpha
captured momenta recording visual of the rangethe timestamp as text ("at 0:44"). the app has no way to draw the recording visual, so it was cut.
tag ordersuggested tagsyour most-used tags come first
new pull pickerrecent listeningtracks you've pulled before, since the app has no recently played list this feature can read
pinson your profileat the top of pulls and on the home card
tag chipsa custom chipbuilt from wave2 tokens, since wave2 has no chip component
friends and placestag people, pick a placenot built yet
building the alpha03
01already in the appquick pull, voice notes, and the pulls list were already there. i added the tag sheet, the glossary, crates, lyric saving, a live preview, pins, and a new-pull picker.
02the data layereverything runs through a mock API stored on the device, so the real API can replace it without touching the screens.
03tests244 unit tests across the player UI and the feature's domain, UI, and data layers. every commit runs formatting, static analysis, the build, and the tests.
04a small fixa new pull gives up after 10 seconds if the track never starts, so the sheet can't open later on top of something else.
AI in the process04

i used Claude Code throughout, mostly to move faster and to keep the two of us in sync.

01learning the Android repoi used Claude Code to get familiar with the TIDAL Android codebase before changing anything.
02a head start from my collaboratormy collaborator sent me a Markdown file that set Claude up to open their existing work, so i could start building right away.
03testing flows earlyi used it to spin up the first prototype, so i could try different flows before committing to one. it saved both of us a lot of time.
04keeping each other informedi used it to compile my notes and a changelog, and set up an automation that updated our internal prototype site with changes every week, so we could stay in sync async.
← homepage  //  002 ux + product © 2026 Naeema :)