Researchers and data scientists in both the commercial world and academia have wasted a ridiculously huge amount of time, money and manpower on data collection, cleansing and processing. In fact, a survey reveals that data scientists spend 80% of their time on these tedious tasks instead of the value-adding parts of their duty, like modeling, algorithm design, test and evaluation, etc.
At the same time, urban dwellers have also wasted countless hours on unproductive tasks like commuting and queuing. When they need to wait, most of them are just killing time by playing mobile games, watching junk videos or browsing social media newsfeed. Such phenomenon manifests the inefficiency of modern urban lifestyle.
What if everyday people can help researchers and data scientists to perform short tasks on their smartphone in exchange for micro-payment? Brainpick makes it possible by bringing these two groups of people together in a single platform. It is an intelligence crowdsourcing app that minimizes researchers time and effort in data collection and processing.
Both commercial and academic researchers can submit tasks on the platform and the system will automatically distribute micro-tasks to all users, for example, photo tagging, price estimation, questionnaire, sentiment of words, and so on. They can then receive monetary rewards, either provided by submitters directly or sponsors of the request. By doing so, even average people can contribute to state-of-the-art research projects or help companies develop products that solves million people’s problems. This is also the reason why we call the app Brainpick - picking the brain of the crowd.
Before coding the user interface, we have drafted a storyboard that indicates the basic flow of the app using Sketch. We then asked our friends for feedback and further improved the design. This saved us from repeatedly modifying codes to tweak the design of user interface. A draft of the storyboard is shown below.
System and Architecture
We use the library React Navigation to handle the navigation of Brainpick. The entire navigation structure of the app consists of a tree of navigator objects and React component. Navigator object is a special type of React components that manages the navigation among a group of other React components. For example, switch navigator manages a group of mutual exclusive components, while stack navigator manages a group of components stacking on top of each other.