Imagine that your dream is to become a professional musician. You’re probably working odd jobs you don’t really like while waiting for that magic break. You want to get to the point where you can live off of your music and spend your time touring, writing music, and looking back at a time when you weren’t so lucky. One big problem is money. If you had more money, you could probably quit your job waiting tables half the week, or maybe find and pay a better than average producer to help you record some tunes that have only been played in your bedroom or during your busking sessions. Once you can dedicate yourself to professionalizing your sound, you stand a better chance to make it big.
This is where TempoTrader comes in. TempoTrader can be thought of as two things: a stock market for subscriptions to musician content and a music discovery platform. The subscriptions, also known as Tempos, are to exclusive content produced by the musician. Some examples of exclusive content are unreleased tracks or exclusive merchandise. The popularity of the musician has an impact on what sort of exclusive content is offered. A more popular musician, for example, could hold private boiler room events available only to their subscribers.
Musicians release a certain number of Tempos to the market when they join. Traders then buy these Tempos at a certain price. The price of a Tempo then fluctuates according to supply and demand, or in other words, how popular the musician is. Just like a stock market, the Trader can resell the Tempo they bought for a profit.
Of course, the budding musician does not yet have a network of supporters or much exclusive content to offer. This is where the music discovery facet of TempoTrader becomes important. Good traders, like investors, are constantly looking to find real investment gems and if this budding musician is really good then the musician’s worth will go up as more and more people discover the musician’s music.
There is a very low barrier of entry to a system where both musicians that need money and traders that want to make money can do so.
In August 2014, TempoTrader consisted of three cofounders, one of whom was a senior at the same college I attended, and they were looking for some developers to take care of building the platform. A friend of mine and I joined TempoTrader as lead developers and started working on the web application.
The web application is built using Django 1.8 with a PostgreSQL database hosted through Heroku with an S3 bucket used for blob storage. While I worked on TempoTrader, I established a developer workflow which ranged from using VCS tools properly to setting up a CI system with Shippable and separating development and production servers. I also took care of managing our application infrastructure (Heroku, S3 etc…).
I worked on a lot of the application logic which included a lot of gratefulness to and wrestling with Django. One of the first things I did, for example, was to create the models for two different types of users: musicians and traders. However, Django makes it very hard to do this and rather than have these two different types of users be self-contained, I had to resort to establishing a one to one relationship between Django’s base user model and a musician or a trader model, as well as an additional relation to a common data model (data shared between two different types of profiles). One of the most exciting things I worked on was building the backend for our stock market transactions. Atomicity at this stage was achieved simply with PostgreSQL transactions because we were focusing on building out single-node functionality to reach MVP before we started thinking about the system as multi-node (Apache Zookeeper would have been exciting to learn about through putting it to use).
I left TempoTrader in October 2015, after a year of working on it while at school. I decided I wanted to spend more time focusing on schoolwork (it took up a lot of time) and enjoy my last year at college.