Crowd as Customer: Crowdsourcing the Topcoder Community App

Share

When it comes to crowdsourcing, we practice what we preach. We’ve made our own crowdsourcing platform more robust and user-intuitive by engaging the Topcoder Community. Collectively, our members have completed tens of thousands of design, development, and data science projects for startups and Fortune 100 companies over the years. But over the last several months, the community has also built out their very own community app to make it even easier for users to find projects, compete, and get paid for winning submissions.

I spoke with Tony Jefts, Topcoder’s Director of Product Development, and Topcoder member and copilot birdofpreyru about a recent community app milestone (100 releases and 1,000 commits), the importance of a copilot in managing a crowdsourcing challenge, and how small businesses and large enterprises can both benefit from crowdsourcing.

What is Topcoder’s community app?

The community app is a new front-end framework that Topcoder has created. As Tony says, “It’s the place where we’re putting community experiences — new challenge pages, updated submission pages, review processes, hybrid and expert communities, profiles, etc.” Before the community app, those experiences were scattered across legacy apps. Pulling everything into a modern front-end architecture is one way Topcoder is developing faster, as well as improving the member experience by improving existing experiences and adding new ones.

One of the main reasons why our product development team started working on this app was to better support our growing expert communities, such as our blockchain community, our cognitive community, our veterans community, and others. With the goal of encompassing the full community experience going forward, the community app combines specialized communities and universal learning resources — two things formerly kept in silos.

Part of the Cognitive Community view in the community app

Community app milestone: 100 releases, 1,000 commits

March 17th, 2017, marked the community app’s very first “commit” (i.e., initial setup). Since then, the community has pushed an update — features, upgrades, changes of any kind — to that site 100 times (100 “releases”). Simply put, that means we engaged the Topcoder Community via our very own crowdsourcing model to continuously deliver new features. To date, there have been over 100 completed challenges and tasks that were run to complete the efforts. Every challenge and task produced multiple commits to the code repository. Thanks to the continuous integration the community setup for the app, releases can happen a few times a week with little effort to get new functionality and fixes to our members without delay.

Over the last seven or so months, Topcoder had 400 unique registrants and 51 different people submit to community app-related work in addition to the community review boards that were ensuring quality deliverables. In that time, we ran over 100 challenges and received 185 submissions — all for the community app. (Here’s an example of a past community app challenge.) These are all Topcoder members who not only want to work on interesting problems for customers, but who also want to better their own experience at Topcoder — and those of their peers.

Part of the Veterans Community view in the community app

What it’s like to be a Topcoder copilot

As the copilot of the community app, I had a lot of freedom on the project, which comes with a lot of responsibility as well. I get instructions from the Topcoder product development team about what pages and functionality we seek to implement, design specifications, and priorities for ongoing tasks. From there, I am free to split the work into separate code or First to Finish challenges, write the technical specifications, and assign the budget for prizes. I do all of this in the way I believe best ensures the project’s steady progress and delivery of various pieces before hard deadlines, if there are any.

Once a challenge is prepared, I launch it and take care to provide timely answers to any questions and clarifications in the challenge forum. And after a challenge ends, I merge the outcome into the codebase, do an extra testing and review myself, log any detected issues into the community app repository, and iterate to subsequent challenges.

On this particular project, I do a lot of coding as tasks. This includes small fixes, urgent tasks, and development/fixes related to the app’s core functionality. When it is not quite clear what the best way to achieve something important in the codebase is, I often experiment and implement it, taking advantage of my overall insight into the project and its codebase.

I also asked birdofpreyru to tell us how being a copilot differs from competing on our platform:

Being a copilot on a large, long-term project like the community app is an interesting experience. As a competitor in a challenge, you work on a reasonably scoped task at a time, and as a copilot, you get the chance to shape the app at a higher level. On the other hand, as a competitor, you get much closer experience with the underlying technologies — an efficient way of learning new things. It can be difficult to combine being a copilot and competing in regular challenges. As a copilot, you can often be distracted by different urgent tasks, and so it is easy to lose a regular challenge because other competitors were completely focused on that (and more efficient as a result).

Top navigation for the Blockchain Community in the community app

Two major advantages with crowdsourcing

Startups and large enterprises choose to crowdsource technology projects for a number of reasons — often citing time and cost savings as the two main attractions. As Tony says, “With crowdsourcing, companies get access to the expertise they may not have in-house due to cost, and other factors. The idea being: ‘I’m either going to learn how to run an IT organization or I’m going to get it on demand.’ Small businesses in particular want to put their energy into focusing on their business strategy and delivering value faster than their competition. Crowdsourcing enables us to make their technology dreams come true.”