How we create our apps

How we create our apps

Design Thinking is an extremely effective method for solving complex problems that are misdefined or unknown, by understanding and redefining them in a human-centred way. The right approach during the session with the client stimulates new, innovative ideas. Following five stages in the process allow us to work in an orderly manner to develop solutions to complex problems occurring around - in our companies, in our countries and even on a global scale.

1. We empathize

The first stage of the Design Thinking process is an empathic understanding of the problem that we try to solve together with the client. This includes:

  • Consultation with experts to find out more about the area of interest,
  • observation, commitment and empathy towards people in order to understand their experiences and motivations,
  • and immersion in the environment so you can gain a deeper personal understanding of the issues.

Empathy is critical to the human-centred design process - it allows designers to put aside their own assumptions about the world and adapt to users' needs.

Depending on the time constraints, a significant amount of information is collected at this stage. It can be used in subsequent stages to help define the needs and requirements of users, which are the basis for further product development.

The outcome

  • we specify the requirements for the application,
  • we define actors and roles,
  • If necessary, we make additional assumptions.

2. We define

At this stage, we organise the collected information. We add our observations and synthesise them in order to define the basic problems that have been identified by our team so far. Throughout the process we remember to focus on the end user of the solution.

As an example, instead of defining a problem as a wish, e.g. "We need to increase our share of the food market among young teenage girls by 5%" according to the Design Thinking methodology, a much better way to define a problem would be: "Teenage girls need to eat nutritious food in order to develop, be healthy and grow".

The Definition stage helps our designers to select the best ideas, and determine the features and any other elements that will solve the problems or that will greatly facilitate the users' solution.

The outcome

  • we determine the groups of functionalities,
  • we create a list of functionalities,
  • we determine their relevance,
  • we describe the MVP (minimum viable project meeting the criteria),
  • and we create so-called user stories, which are short descriptions of how and in what situations the user will use our solution.

3. We ideate

At this stage we are already prepared to work on the target solution. We have an understanding of the situations users have to deal with and what are their expectations - we have also made an assessment of which of the indicated problems are particularly important and which of them may be put in the background. All this time we focus on the user. With this solid background, the members of our team are ready to start "thinking out of the box", looking for alternative ways to perceive the problem. It is important to collect as many ideas or problem solutions as possible.

The outcome

  • we meet with a client at so-called brainstorming sessions
  • we develop at least a few application navigation diagrams
  • we create block diagrams of the user interface
  • we define data models

4. We prototype

We then make a series of product prototypes or specific features found in the product, so that we can visuaise potential solutions to problems. Prototypes can be shared and tested internally, in other departments or on a small group of people outside the project team. This is an experimental phase and its aim is to identify the best possible solution to each of the problems identified during the first three stages. Solutions are implemented through clickable prototypes and then, one by one, are examined and either accepted, improved and re-examined, or rejected based on user experience. At the end of this stage, we already have enough knowledge of how the solution can solve the problem and a clearer picture of how real users will benefit from the final solution.

The outcome

  • we present a clickable prototype, which visuaises the designed solution

5. We test

Designers or assessment specialists carry out in-depth testing of the complete product using the best solutions identified during the prototyping phase. This is the final step in a 5-step model, but may not complete the whole process. Since Design Thinking is an iterative process, the results obtained during the test phase are often used to redefine one or more problems. The test phase tells us how users understand the solution, under what circumstances it will be applied, how they behave and what they feel - that is, what the user experience is. At this stage, we continue to allow for changes and improvements to best reflect and address problems.

The outcome

  • we define user acceptance tests
  • we carry out tests of a previously created, clickable prototype

Design Thinking is not a one-time and linear process

We have introduced Design Thinking as a linear and direct process, in which each stage ends with a result and leads to the next. In practice, however, the process is much more flexible. For example, different groups within a project team can implement more than one stage at a time. Designers can collect information and create prototypes throughout the project to enable them to implement their ideas and visualise solutions to problems. The results of subsequent phases may reveal some insights about the users that require a step back in the design process to take them into account.


We have no doubt that the freedom that Design Thinking allows us to really understand the client and his needs before we go into the programming phase.

Making changes in the programming phase is much more expensive and has a very negative impact on the quality of the created solution, team morale, as well as customer involvement.