Developing a Climate Change App


Behind the scenes (Part 1): How the app calculates your label

The AURORA app offers users an intuitive way to track their carbon footprint and overall energy use. By collecting data about their heating, electricity, and transportation, users can get a deeper understanding about their energy consumption. They can use this information to change their patterns of behaviour and reduce their carbon footprint.

For users to get an immediate impression of their current footprint, AURORA has designed energy labels that they will understand. These are based on the existing energy labelling system used to assign energy efficiency categories to household appliances. The new labelling system relates to the energy used in heating, electricity, and transportation and allocates a performance label such as “Ground Breaker (G)” or “Accomplisher (A+)”.

Labels are awarded on an annual basis and are specific to each AURORA demo-site country. To keep it fair throughout the year, labels are adjusted based on how much data has been entered by a user. This way the app can award labels in a fair manner even if data entries are still incomplete. The only exception is transportation where the app automatically makes allowance for intermittent transport use.

To achieve these functionalities, the app has been designed and developed by using state-of-the-art technology, especially the following two components:

The frontend:

This is what users see while using the app. It has been designed from the ground up for AURORA. We use native technology for both iOS and Android devices by utilising the functions provided by the operating system to display the user interface. This makes our app compatible with a wide range of different devices and leads to great performance, even on older models. While the frontend takes all inputs, it does not do any of the calculations. Instead, we opted for a much more robust and reliable backend solution.

The backend:

Any inputs are taken by the frontend and sent over to the backend, for which we use a system called Firebase. This is a very popular solution for mobile applications and does all the computational work. Once it receives data, such as a new consumption entry, it immediately stores the data securely in the Firestore database under the authenticated user. Think about this as adding a new sheet of paper into a huge drawer that records your energy consumptions.

Since the user only enters a certain distance for transportation, or a number of kW for energy use in heating or electricity, the backend takes care of calculating the carbon emission based on that data. This calculation depends on various factors such as where the user is located (i.e. their affiliated demo-site country); with how many people the user lives together; which heating technology or vehicle they used, etc. – The AURORA project has conducted in-depth desk research about emission factors for each of these scenarios, which makes the calculation truly evidence-based.

The final value for carbon emissions is then added to the ‘sheet of paper’ and put back into the ‘drawer’, triggering another function that takes all of those ‘sheets’ out of the drawer that have changed since it looked at them last time. The system sums up the carbon emissions and energy values (on a separate sheet so to speak) by keeping track of each month within each year and distributes energy consumption across the time period. For each year, the backend then compared the totals with the individual label budgets, checks how much of the budget has already been used (based on past entries), and finally awards the user with their appropriate label. Automatically, the app is now being notified that certain files have changed, and it fetches all sheets again from their respective drawers and displays them to the user in an easily comprehensible way.

So, next time you enter your consumption into the app, you may have a better idea about the main processes you are kicking off with a single tap of the screen.


Lars Lorenz

Institute for Science and Innovation Communication (inscico)


Receive the latest news

Subscribe To Our Newsletter

Fields marked with (*) are required.