What is The Wub Machine?
The Wub Machine is a music remixing app on the web and mobile. It turns any song you upload into Dubstep, House, Trap, or a bunch of other genres. The company is Appstruments, which I set up as an umbrella for Wub and a number of other similar music-related apps, but Wub is by far the most popular of them. It's mostly a toy, although some musicians have gone as far as to release remixes made with the app.
How did you get started?
I was 19, a first-year university student (at UWaterloo, in Canada) on the cusp of dropping out. I had enrolled in the Software Engineering program but pretty much flipped a coin before doing so. I really wanted to go into music instead, so my first year was going pretty poorly.
I somehow found out about a company called the Echo Nest (later acquired by Spotify in 2014) who made a music analysis API and corresponding libraries in Python. I didn't know Python, but I knew that their API was powerful, so I learned Python by trying to create an app with it. Their library allowed you to manipulate musical notes and bars like you would concatenate strings or lists, turning music into a fundamental datatype.
I was into Dubstep at the time, and decided to try my hand at creating an automatic remixing algorithm to turn any song into "formulaic" dubstep — intro, buildup, drop, wub wub wub. I worked on it for a week or so, presented it at a hack day that my class held, and people seemed to love it, so I kept going. A couple posts on Reddit later, and it took off, so I devoted a bunch of time to it.
Where did you find the time and funding to work?
I skipped class. I wasn't enjoying school anyways, but this project got me interested in programming in a big way, and helped me learn a ton of stuff really quickly. In the early days, I had a lot of trouble getting the app to scale, so I spent weeks at a time either skipping class or sitting in the back, coding intently while ignoring the professor.
As time went on and the site became more stable, I was able to devote less time to fighting fires and more time to feature work. At one point, I skipped a co-op term (Waterloo requires engineering students to take 5 internships or "co-ops") to go through an entrepreneurship program and develop the idea, which came with a tiny bit of funding and access to resources. Nowadays, Wub has become mostly a passive income project, requiring less than an hour a month to maintain and keep running.
How did you get people to the app?
Growth was almost entirely organic. A classmate of mine posted the site to Reddit before I had battle-hardened the server, and it hit the front page before promptly being hugged to death. Other forums (notably 4chan) kept traffic steady, while people remixed random stuff and showed it to their friends. One key: there's a "Share to SoundCloud" button in the app that includes a link back to the app from every song shared, and the album artwork of whatever song is being remixed is overlaid with the app's logo and name.
A couple other events drove traffic in a big way — VSauce (a popular YouTube channel) featured the site for about 10 seconds in a video that had nearly 3 million views, and that was a way bigger spike than Reddit's front page (in 2011, mind you). The Guardian and a number of other publications wrote about the site, which helped organic traffic.
Twitter was the only intentional marketing channel I worked on, and it didn't work quite as well as I'd hoped. People loved to tweet about what remixes they'd made with Wub, but engagement with @wubmachine was really low. I tried a couple times to get my favourite musicians at the time to tweet about it — even saying "it sucks" would have been nice — but to no avail. (Part of me really hopes that Skrillex has at least tried the app and laughed.)
How did you deal with incorporating and other legal issues?
As a sole founder whose startup turned into a hobby project, I mostly avoided that. I worried for quite a while that as I was dealing with music, I'd be a target for music industry lawyers, but I've never received so much as an angry letter from anyone. I wrote my own ToS and had some more legally-inclined friends read over the legalese, and there have been no problems since.
The closest "legal" issue I've run into is mostly automated, actually. SoundCloud and YouTube both employ automated content detection algorithms to find out when someone has uploaded someone else's content. I created the backing tracks used in Wub myself, from scratch, but someone took a remixed track and published it to a copyright service as their own, probably as part of the iTunes Music Store submission process or something. Because the app mixes together a user's song with my backing track, the content identification systems now think that my backing track belongs to this user who published a remix made with the app, and all my other users now get copyright takedowns. (I could work around this by creating a new backing track. Maybe one day.)
When and how did you decide to monetize The Wub Machine?
In the early days, I was still scared about the legality of building an app that processed music, so I avoided monetization out of fear that it'd give someone more cause to sue me. After a certain point, though, I caved in and added Google AdSense to help cover server costs. These ads ended up making way more money than I expected (10-15x expenses), which caused me a bit of an ethical dilemma — the site was still built on the free and public Echo Nest API, and I wasn't paying a dime for all of that processing. (I made friends at EN, and they later confirmed that Wub made a noticeable impact on their graphs. Sorry!) So, out of guilt, I rebuilt the app to use an open-source audio processing library hosted on my own servers instead.
With the weight of freeloading off my conscience, I was free to pursue other monetization options like in-app purchases on mobile. Most of my users turned out to be teenagers with tons of free time but no credit cards, so in-app purchases helped me tap into their iTunes and Google Play Store balances.
Wub never made enough money to support me full-time, although for one 4-month stretch, I opted not to do an internship in San Francisco and tried to work on the app instead. I ended up just barely breaking even, but that includes some entrepreneurship grants from my university.
The app's revenue fluctuates wildly from month to month, with a distinct peak in December and January (mostly in-app purchases — kids getting iTunes gift cards for Christmas) and a trough during the summer. Record high was $850/mo, record low was $40, with the average month bringing in around $300. Certainly not quit-my-job money, but it helps.
What were your biggest challenges, fears, and mistakes along the way?
The biggest technical challenge was probably scaling in the early days. I was a young student with no budget and no idea what I was doing, trying to support a site that did heavy CPU calculations on 10MB MP3 files uploaded by people around the world.
My biggest fear was that I'd get sued by some over-eager music industry lawyer, and that fear actually ended up putting a damper on monetization and feature development for a bit.
My biggest mistake was probably going it alone. Had I brought on a "co-founder" in the early days, we would have been able to focus more time on the product and the market, rather than the technical and scaling problems. It was really easy as an engineering-minded sole founder to get lost in the technical details. When I tried to work on the app full-time for a while, I found it extremely difficult to stay focused and motivated with nobody else to help.
What things were most beneficial to you?
From a technical perspective, Google and StackOverflow were invaluable. I went through the University of Waterloo's VeloCity startup residence program (now known for Pebble, Kik, Vidyard, Thalmic, and many others) which gave me access to a bunch of very smart people whose advice I should have been more receptive to. I also got a bunch of great startup advice from Waterloo's ECOOP (entrepreneurship co-op) program, which was invaluable, and spent time coworking at The Working Group in Toronto, a digital agency that helped me a ton with product feedback and direction.
Motivation came mostly from reading through Twitter and seeing thousands of people tweeting about how cool the app was. I was making a name for myself in the music tech industry as "that Wub Machine guy," a label which kind of stuck, and that external validation drove me for a while.
What's your advice for hackers setting out to be their own boss?
Don't try to do it alone. Sometimes it works (for simple SaaS businesses that solve real problems people will pay for), but it's really hard to split your focus between the product concerns and the engineering concerns, especially when fighting fires all the time when trying to scale.
What was your tech stack?
I used Python, Tornado, Coffeescript, Go, C++, Java, Objective-C, MySQL, PHP (briefly), and Ubuntu.