built and launched a blind song-swapping app that reached 500+ users and 1,700+ swaps in its first two months.
and counting!
the best song recommendations often come from other people. soundswap turns that behavior into an actual product: you choose a song, someone else chooses one, and neither is revealed until both are submitted.
users can add a note about why they chose a song, save discoveries, react to swaps, and find people whose taste they trust.
music discovery should create connection, not just another algorithmic feed.
soundswap home page (desktop view)
music discovery was getting more algorithmic, but when we asked people how they actually liked finding music, their answers kept pointing back to other people.
friends, djs, record stores, music writers, festival lineups, teachers, and people they met online all came up. what stood out wasn't just where people found music — it was that discovery was often attached to another person.
“i love when a friend sends me something they're listening to :)”
“i ask my friends and people i meet — genuinely a great way to find music.”
“ppl i connect to online, through conversation, sharing artistic ideas and sometimes just asking those i know- online or otherwise- if they've heard anything good lately or their favourite artists/songs.”
quotes from substack users when asked how they find new music
across the responses, a pattern started to emerge: people trusted recommendations from other people, sharing music often created a reason to connect, and this behavior was already happening everywhere — through texts, instagram stories, record stores, shows, and conversations with friends. there just wasn't a product built specifically around that exchange.
what if discovering music felt like an exchange instead of a recommendation?
choose something you want another person to hear and optionally add a note about why you picked it.
your song enters the pool and gets paired with another person's recommendation.
neither song is revealed until both people have contributed.
soundswap started with this simple reciprocal exchange and has grown around it with communities, profiles, reactions, prompts, streaks, messaging, favorites, and more.
soundswap wasn't just a product and design project. on a two-person team, building it meant working across the frontend, backend, database, native app, third-party apis, notifications, analytics, and deployment.
soundswap started as a web app, but we quickly saw the value of making the experience mobile. rather than rebuilding the product from scratch, i researched different approaches and used capacitor to bring our existing react app to ios.
that meant working through testflight, native lifecycle behavior, push notifications, app store requirements, and deciding what could remain web-based versus what needed native functionality.
we wanted people to be able to hear an unfamiliar song without leaving soundswap. spotify gave us the metadata we needed, but reliable previews required another approach.
i combined spotify data with the itunes search api and backend matching logic to surface 30-second previews directly inside the product.
once soundswap was live, we built an internal analytics dashboard to understand how people were actually using it, including dau/wau/mau, stickiness, swap activity, and cohort retention.
those signals, alongside direct user feedback, now help us decide what deserves to be improved or built next.
by far one of the most fulfilling things i've ever worked on. i've always wanted to build my own app, so seeing soundswap go from an idea between two people to something hundreds of people use — and eventually onto the app store — still feels a little surreal.
more than anything, soundswap confirmed how much i love working across the entire product process: understanding people, deciding what to build, designing the experience, getting into the code, and shipping something real.
real users uncover behaviors, edge cases, and priorities that no prototype can fully predict.
understanding how something will actually get built has made me better at deciding what should get built.
i'm happiest when the problem is still messy and i can move between research, product decisions, design, code, and shipping.