IBM crowdsourcing platform

Designed and built the interface for a web-based crowdsourcing platform.

ECrowd Dashboard
Knowledge base ECrowd Templates: Define custom variables


The problem

During my internship at IBM in Amsterdam, I designed the look and feel of a crowdsourcing platform called ECrowd, which was developed as part of new and ongoing research projects. Within ECrowd, users can create and generate their own mobile crowdsourcing app and push crowdsourcing tasks to it. However, setting up a new crowdsourcing project was too technical and complex for ECrowd users. I conducted user research to find pain points and designed a drag-and-drop builder that was easy to use but modular enough to keep the platform flexible.


Designing the interface and user assistance of ECrowd in such a way that all ECrowd users can manage their own crowdsourcing application independently.

Visual explanation of ECrowd

Visual explanation of ECrowd

The Design Process

The IBM Design Thinking Loop

The entire design project was a continuous loop of observing, reflecting and making - as illustrated by the 'IBM Design Thinking Loop'.

Stakeholder analysis

First of all, I mapped all stakeholders involved. For a succesful project it was important to understand who is affected by the project outcome and bring together various people. I also identified Sponsor Users: (potential) users I should reach out to during my project regularly to discuss progress.

Stakeholder map

User interviews & profiles

I started with conducting user research. I interviewed current and potential users and created profiles and empathy maps - partly on my own and partly by involving team members during brainstorm sessions. I categorized users into three user profiles based on their different goals and tasks.

1. Researcher
  • Uses ECrowd to gather crowdsourcing data for research.
  • Adds new crowdsourcing tasks and analyzes results.
  • Has basic technical/coding expertise.
2. Customizer
  • Supports researcher with conducting research through ECrowd.
  • Responsible for adding and editing crowdsourcing tasks and templates.
  • Has basic-to-average technical/coding expertise.
3. IT specialist
  • Uses ECrowd for advanced crowdsourcing purposes.
  • Desires high flexibility in adding and modifying tasks and templates.
  • Has high technical/coding expertise.
Empathy Maps brainstorm

Research insights

As a result of user research, I summarized pain points and processed them in several ways, such as mapping the current workflows into As-Is Scenarios to explore areas of improvement. This helped me to identify user pain points.

1. First encounter Users don't know what to do after they are logged in. Users have no idea where to start.

2. Help & support There is no knowledge base, FAQ, or support desk that can help with understanding ECrowd.

3. Templates to start with ECrowd's flexibility is great, but users don't want to design their entire application from scratch.

As-Is Scenarios


I organized an ideation workshop with the team and stakeholders. This resulted in many ideas on how to improve the platform.


Idea prioritization

Based on the ideation workshop, a number of common themes emerged and similar ideas were grouped and presented to the development team. We prioritized ideas based on feasibility in terms of resources, time, and value brought to the user, and selected four core improvements to work on:

  • Restructure navigation menu
  • Drag and drop application builder with live preview
  • Improved user onboarding
  • Basic knowledge base

Prioritized ideas

Design goals

Next, I created three Hills: an IBM Design Thinking approach for setting design goals that focus on solutions from the user's perspective and solve their pain points. The goals focused on improved onboarding, usability, and designing an easy way for non-technical users to manage ECrowd.


Prototyping and testing

I designed low-fidelity prototypes and implemented this into the platform. I tested the prototypes with three users to see how they responded and to find out what they liked and what they didn't like. Several parts of the prototype were changed according to their feedback (see below).


Global design

ECrowd was created because of the department's need for a crowdsourcing tool. In the beginning, there was no focus yet on the UI, so I had the opportunity to define a global design for the platform. I based this on the IBM Design Language.

Global design

Create a new crowdsourcing app

Creating your first crowdsourcing app with ECrowd is improved with a set-up wizard with colorpickers, live preview, and other elements. This helps users to quickly set-up an application with pre-defined settings, while keeping advanced options available under tabs.

ECrowd: Create a new crowdsourcing app

Dashboard page

To simplify the application, I restructured the menu. Users said they were lost after accessing ECrowd for the first time, so I created a knowledge base and a Dashboard landing page with basic information and guidance.

ECrowd Dashboard

Create crowdsourcing tasks: Template page

Each crowdsourcing application consists of tasks: questions or small assignments to be completed by the end-user. The ECrowd user creates those tasks in ECrowd, but until now they could only do this by coding templates themselves. The main concern of all users was that they didn’t know how to start.

ECrowd could potentially deal with users with a wide range of technical backgrounds, so it was a challenge to find an easy solution without losing the flexibility of the platform and while keeping it modular. I chose to implement a drag-and-drop template builder. Users can drag pre-defined blocks and see live previews, but advanced code editors are available for experienced users.

ECrowd Templates

Upon using the code editor, more experienced technical users are able to have extensive control over their application and task templates. They can use the editor and create custom variables if they feel they are limited by the drag-and-drop elements.

ECrowd Templates: Define custom variables


After user testing, several parts of the prototype were changed according to feedback. Next to a few technical improvements, I changed the color pickers, the drag-and-drop blocks and a few other elements.

"After creating my crowdsourcing application, I felt confident. This looks much better than before."
"Now it is easy to know where I can do what I want. The live preview to style my app is very handy."


After testing and iteration, I implemented the prototypes into the master build of ECrowd. For this, I used HTML, CSS, JavaScript, and a little bit of Java.


Working on ECrowd has helped me to improve my UX design skills. I did a lot of research to inform design decisions, and I learned how I could apply IBM Design Thinking to build a better product. Because doing research was an important part of my thesis, I sometimes found myself putting too much emphasis on researching and analyzing the user situation, especially at the beginning of the project. Now, I would start prototyping much earlier. The complexity of the project was challenging, and working in a multidisciplinary team with people from different backgrounds was a great experience.

Other internship work

Besides working on ECrowd, I got the opportunity to extend my internship. I learned a lot more about IBM and worked on other projects too. For instance, I designed the interactions for this 'smart home' Internet-of-Things dashboard. It was used during multiple IBM client/partner events to show in an interactive way how IBM's IoT solutions can help clients.

IoT Dashboard for IBM client/partner events.