TastemakerX, Archived tastemakerx.com
Senior Software Engineer · 2013–2014 · San Francisco
A stock market for bands, relaunched as the opposite: everything one artist does, in one feed.
TastemakerX was a music discovery platform built around Collections of the artists a listener followed. It raised $1.25 million in March 2013 on top of an earlier $1.8 million round, and Rdio acquired it in June 2014.
This was 2013, and following a band meant following it in six places at once: Twitter for the announcement, SoundCloud for the track, Songkick for the tour, Instagram for the photos. I built front-end features for the September relaunch: Facebook onboarding that assembled your first Collection from your likes, and a player that let you listen through whichever service you already paid for.
- JavaScript
- Backbone
- Handlebars
- CodeIgniter
Key work
Selected work from the relaunch.
From a collecting game to an artist feed
RelaunchTastemakerX launched in 2012 as a stock market for bands, where you bought and traded artists. In September 2013 we relaunched it as a Collection: pick the artists you care about, and their releases, tour dates, video, photos, and posts arrive in one feed. The client was a Backbone single-page app, and its feeds covered everything from a new SoundCloud track to a Songkick tour announcement. I built front-end features for that client through the relaunch and the acquisition.
Making arbitrary links render as media
Feed engineeringA feed pulling from that many services is mostly a pile of untrusted URLs, and the interesting ones are embeddable: a YouTube watch link, a tweet with a photo, a SoundCloud track. Rather than special-case each service, I built the feed renderer as a strategy pipeline: find the candidate URLs and fragments in an item, match them against known patterns, pick the pattern most likely to succeed, and generate the markup from that.
A Collection built from your Facebook likes
OnboardingNew users arrived at an empty product, so onboarding read their Facebook artist likes and built the first Collection automatically. The work was in the branches: no matching artists at all fell back to trending, a handful fell back to similar-artist expansion, and only a full dozen went straight through. I also consolidated the Facebook SDK behind a single model, so the auth flow had one place to fix. Two models and three controllers had been calling it directly, one of them dead code.
Converting a Spotify playlist to Rdio
Music interopPlaylists did not travel between services, so we shipped a converter as its own small product at convertmyplaylist.com: paste a Spotify playlist URL, match each track against Rdio's catalogue, name the result, and save it. Matching is the part that bites: two catalogues rarely agree on how a song is spelled. So the interface listed every track with whether it had been found. Rdio bought us that June, and I kept building the converter there for another year, taking iTunes libraries as well.
The team tightened as we went. Of the seven of us who went across to Rdio, four were still building, one each on front end, back end, mobile and design. At that size you own a whole surface or it doesn't ship. Mine was the front end.
Related context
- TastemakerX Hits Beta
TechCrunch coverage of TastemakerX beta launch and "stock market for music hipsters" positioning.
- TastemakerX Raises $1.25M Funding
TechCrunch • March 2013: $1.25M follow-on round from Baseline, True Ventures, Guggenheim, and AOL Ventures.
- TastemakerX Relaunch
TechCrunch coverage of TastemakerX platform relaunch and music discovery features.
- Digital M&A: Rdio Acquires TastemakerX
MediaPost coverage of Rdio's acquisition of TastemakerX and strategic positioning in music discovery.
- Rdio Acquires TastemakerX to Replace The Echo Nest
RAIN • July 1, 2014: Rdio bought TastemakerX to replace The Echo Nest, which it dropped after Spotify acquired it.
- Rdio buys TastemakerX app to boost streaming music discovery
The Guardian • July 2014: the acquisition, the seven-person team joining Rdio, and Collections as what TastemakerX had become.