Toulouse Blagnac Airport is one of our favourite at Appstud. Why? For a very simple reason : it is our very first client, the one who helped put us on the map, made us grow and who has never hesitated to renew their faith in us for almost 3 years now.


It all began in 2014. At that time, AppStud was 2 months old. We worked with Thomas and Bastien to make an interesting website which presented enough information for visitors to understand our job. We stumbled upon the Toulouse Blagnac Airport tender. After a quick glance, we gambled over winning this project.


To start its digital turn, the airport’s request was simple : To facilitate the frequent traveller’s life. The aim was to integrate the mobile app into the heart of the airport- traveller relationship. It was implemented by bringing customers a set of services enabling them to prepare their flight confidently.


The idea we had at that moment conditioned the entire strategy and the AppStud DNA up until now. We assumed that we were unknown beginners competing with all the big IT companies that were going to strive to meet the specifications in the strict sense.

Our perspective was therefore clear. We would reconsider the entire specifications by witnessing by ourselves the problems encountered by users in everyday life. We will not ask about the product they want, but rather focus on understanding their current behaviours to uncover unmet needs and missing services. Once obtained, we will disclaim the response to the problems in question.

Not surprisingly, we took notepads and pencils and were patient enough to meet 28-50 year-old users who are accustomed travellers, from Paris or Toulouse.


It was obvious that there was a difference between Toulouse Blagnac Airport’s vision of its own product and that of users. Indeed, our customer designs his product as a utility that allows users to travel from point A to point B.

From a user’s point of view, the airport is considered a discomfort zone raising many questions: Am I late? Will I miss my plane? Where to park? What boarding gate to go through? Do I have enough water for the flight? Will there be disturbances? etc …

This location caused stress forces the user to focus on their primary need: take their plane, and therefore disregard any pleasure.

To enable users to have fun and enjoy the services offered by the airport, we had to work on simplifying their life and reduce their stress.

Thus, starting from one problem, we could decline a list of functionalities in order to meet the identified needs. Our major focus was to reassure the user concerning the risk of missing their flight by being proactive about the key elements conditioning their trip. By allowing them to check in their flight in advance, the app is able to transmit the information related to the journey time between the point of the user’s geolocated point and the airport, taking into account traffic information. In addition, users are proactively informed about anything that can impact their journey via push notifications. As soon as they reach the airport, it is then possible for them to know exactly where to go according to the spent time at the security gateways.

The second key element identified was the difficulty of finding a parking space. As a matter of fact, we noticed that a significant number of frequent users used their personal vehicles to get to the airport. There are currently 6 parking spaces at the airport, each of which is accompanied by a sliding scale rate depending on their distance from the boarding points. It can be quite hard to know exactly which parking to choose when you are in a hurry given the price, availability of seats and the distance you are willing to walk. To deal with this issue, we assumed that the app should be able to provide this information quickly to the user while enabling them to reserve a parking space. Still working from the perspective of facilitating the user experience, as soon as the app detects close parks, a push notification is transmitted to the user enabling them to reach the already reserved place.

In such a way, these different elements make it possible to reduce the user’s state of discomfort by handing them an intuitive experience and an idea about the start of the project, on the basis of searching slow- burning problems.


We start from the simple principle that an app key step lies in its online- release in stores. At this stage, key information will arrive and enable us to make decisions. We are fighting to reduce the interval between the design phase and the delivery of a first online version to allow our customers to learn from its users.

This vital phase makes it possible to obtain the maximum of responses in record time at a lower price than the initial budget (we only work in Scrum), hence the challenge of quickly achieving a usable initial version.

The mobile app has been downloaded more than 50,000 times and reached 4 of 5 stars on both stores from the first months. It was the suitable time for us to integrate our behavioural analysis tool which consists of a simple machine learning algorithm embedded in the app in the form of a native SDK.

The purpose of this approach is to bring a high value advice depending on the analysis of independent and unbiased data to confirm that users are aware of what they are doing in the app and thus avoid any dissatisfaction that may result in rejection of the product.

We were able to identify that all requests for permissions were not always accepted, which led to a non-optimal behaviour of the app. This first result allowed us to improve the way we requested permissions and to follow the evolution of their acceptance over time.

Besides, we were able to dynamically identify groups of users based on their browsing (screen sequences based on the number of times the app was opened) and to identify whether each of these users understood the navigation on each screen.

Graph obtained by clustering. Each colour
corresponds to a cluster (user group))

The “gesture responsiveness” analysis of these different groups of individuals helped us improve visual interfaces in order to make them more fathomable and to provide an action for each gesture made by the majority of users. The goal is to increase user satisfaction while reducing frustration within the system.