Duolingo — add a feature: chat/videochat with people in the language you are trying to learn

Beatrice Nuti
4 min readMar 11, 2020


Duolingo Logo

The challenge

First individual project at Ironhack Barcelona.

The goal of this project is to analyze an existing app and incorporate a new functionality on the existing products. The work will culminate in a high-fidelity prototype of a native app that reflects the best path based on research, iteration and testing.

In particular my goal is to add a chat to the duolingo application, which allows users to chat or video chat with people in the language they are learning.

The app: Duolingo

Duolingo, founded in 2011 in America, is an application that allows you to learn a language that over the years has been very successful thanks to its methodology that allows you to learn a new language without knowing the rules of grammar but through a practical learning process which uses images, sounds and short translations.


The first step was to define the user; to do this, 7 people were interviewed, all aged between 21 and 28 years.

Affinity Map

After, an affinity map was made where the similar problems of each interviewee were grouped and the insights were defined:

  • 6/7 likes talk with native speakers;
  • 7/7 watch movies in original language;
  • 5/7 use or have used applications;
  • 6/7 prefer to talk to people with whom they share interests.

Pain points were also extrapolated from the affinity map:

  • 4/7 don’t want to pay courses;
  • 6/7 prefer to talk to people other than professors;
  • 6/7 don’t want to take courses.

User Persona

After identifying the insights and pain points, a user person was defined:

Emma likes to use applications to learn languages, especially Duolingo. He does not like language courses because he thinks they are too robotic and not very personalized. You would like to make a linguistic exchange with people with whom you can share your interests and passions.

What can we do so that users who want to learn English do so by communicating with native people who have their same interests and do not have to take little personalized courses?


Once the user person has been defined, it is necessary to start defining the idea that answers the drawing question; how can help emma communicate with people with her own interests by doing a language exchange?

After a market research, to see what the world of “linguistic” applications proposed, the first step was to start thinking about a solution.

A user flow was made to understand the operation and positioning of the new functionality within the application.

User Flow

In this way Emma can open the application on the main page and click on the chat icon. Here two different flows start:

1. if it’s the first time that she uses chat, a screen opens where she can choose her interests and, once chosen, the community opens where she can select a person to chat / video chat based on the number of interests in common;

2. if itsn’t the first time that she uses chat and common interests were previously selected, she can go to “messages” and continue communicating in an already started chat or to “community” and look for a new person to start a conversation with.

It was decided to add a chat / video chat in the main screen (in the center) in order to bring out the new functionality.

The user icon, initially positioned in the center of the tab bar, has been moved to the top right and merged with the flat icon.

Old VS New


After testing the prototype we came to the prototype in high definition.
The two flows explained above are shown below.

The next step will be to test the prototype in high fidelity.


  • Do many interviews to get more insights possible;
  • Make a constant iteration to verify if the prototype works;
  • Plan well the time to devote to each part of the project.

Thanks for reading :)