What’s a Side Project?
As a software developer, working on side projects is an essential practice for maintaining a relevant skillset. Spend a year or two with your head down working only with your core skills and you can look up to find that you have fallen behind in the job market.
You have to find the time to experiment with new technologies in more than just a superficial way. If you use them to build something functional, then you will gain a true understanding of what it takes to make productive use of them professionally.
If you’re lucky, you work in an organization that encourages this practice during work hours. Benefits that accrue to the company include improved process and technology, motivated employees and improved retention rates.
If not, you have to find your own time. This can be more challenging, but it opens up the range of options to pursue. You are not bound by what might benefit your current employer. You can choose your own technology focus, of course, but you can also think about building something of value that others might find useful. So what might that be?
Wishing it was Easier to Find Sports Tickets
Living in Philadelphia and being a major sports fan, I was always searching the secondary markets for tickets to the best games at the right price. I found this to be a tedious process that took more time than should have been necessary.
I love basketball and have always been a Sixers fan, but The Process had just begun and I was not interested in seeing my tanking home team against another cellar dweller. The grand plan may ultimately yield a championship, but in the early days it could lead to some pretty wretched basketball. If I was going to see them in person, it had to be against a good team or superstar player (if you haven’t seen Russell Westbrook live, you need to. Regardless of who he is playing with/against).
At the same time, the Phillies were starting down their own rebuilding path. In 2011 I would have gone to pretty much any game. By 2014, I was becoming a lot more selective. And the selection process, much like with the Sixers, involved a browser with at least a half dozen tabs open (team schedule, pitching probables, individual games on secondary ticket markets) and a lot of switching back and forth.
But what I really wanted was to say “Sixers at home against a playoff caliber team or a superstar, lower level between the baselines, under $125” AND “Phillies at home, with Cole Hamels or Aaron Nola pitching, lower level behind home plate, under $100″. In other words, let me tell someone how I think as a sports fan, and they can tell me if/when there are tickets available. If only there was an app for that…
… and as it turns out, I already had a lot of the skills needed to build something that did exactly that. Or so I thought at the time.
What’s more, I was looking for a side project that would allow me to learn more about NoSQL databases, cloud computing and open source technology like Google MapReduce. What if I built a ticket search engine on this technical foundation as my next side project? Sounded both fun & productive and in the end I might have something I could use to make my life easier.
Could this be Something More?
If I ultimately found this useful, might others as well? Before starting, I gave this some thought. On a functional level it seemed quite possible, but could I actually make it available in a way that was cost effective? After all, I had no funding, no path to immediate revenue, and I was only doing this in my spare time.
In 2014 there were several factors working in my favor. The lean startup methodology, popularized in part by Eric Ries’s book The Lean Startup, had proven to be a successful strategy for many startups, including Ries’s own IMVU. One of its central tenets is the Minimum Viable Product (MVP). Essentially, as soon as you have a piece of working software (app, website, etc) which has value, get it in the hands of customers and get feedback. You can test your assumptions about your customers and use their feedback to guide future development. Perfect for an unfunded side project with limited resources.
The rise of cloud computing, with its free tiers and pay-as-you-go pricing, made bootstrapping a startup a much more affordable exercise than would have otherwise been possible. In fact, I was sure that I could spend the first year entirely within Google Cloud’s free tier. Can’t do better than that.
Looking Good, but Need to Check 2 More Boxes
Strategically I was feeling that I had a path to ultimately turn my side project into something I could share with other ticket buyers. The final question was whether I could get access to the necessary ticket and sports data to implement a minimally viable set of features. To achieve that, I would need to get access to 2 types of data.
- Ticket Inventory – I needed access to the ticket inventory of a significant sports ticket vendor. Without this, I was obviously going nowhere with this project. Fortunately, I found that one of the largest vendors in the US had a public API which I could access without having to establish a business relationship first. Things are looking good.
- Sports Data – I needed access to team schedules, as well as regular updates to league standings and pitching probables. There are large data providers who can meet this need, but at a price of over $1K per month. Well out of my budget. After a significant amount of research, I found a company that supports startups with on-demand pricing at rates I could afford. Much like with cloud computing, I could pay for only what I needed and keep my costs under control.
Let’s Do This
Now I had a strategy and the means to achieve it. Worst case scenario, I expand my technical skillset and learn a little about the ticket sales industry. Best case, I have an app or website which I can share with the ticket buying public and attempt to turn into a viable business. Time to get to work…