In January 2020, our client, an entrepreneur from the UK, contacted us. First, he ordered a redesign and a landing page for one of his projects. He enjoyed working with us, and the first order was followed by the second. And after the second, the third order came. It was a service that calculates the carbon footprint of companies and helps offset it.
About the carbon footprint neutralization
Businesses around the world are committed to reducing the negative impact on nature. By the UN initiative, humanity must achieve carbon neutrality by 2050. In many Western countries, companies are already obligated to monitor the amount of greenhouse gases produced and find ways to neutralize them. For example, by financing eco projects.
Startups that want to get the first round of investments in the US or Europe are more likely to get them if they include environmental indicators in their business plan from the get-go. Banks also pay great attention to “green” standards: when issuing loans, they assess the environmental risks of businesses.
Companies have to record their emissions, store the data, calculate how much money they need to offset the negative impact on the climate, and prepare reports. To do so, they must either develop and keep in-house expertise or hire external environmental consultants. All of this is costly.
About the project
The Purrweb team had to create an innovative eco application that would generate carbon emissions reports benefiting millions of companies. The Owner wanted to give companies these options:
- Calculate CO2 emissions;
- Organize and store emission data;
- Calculate the cost of environmental damage compensation;
- Offset the negative impact by investing in eco projects;
- Generate reports on greenhouse gas emissions with measures taken to neutralize their impact.
We researched the solutions: there was an air travel carbon footprint calculatorhttps://www.icao.int/environmental-protection/CarbonOffset/Pages/default.aspx. A servicehttps://www.bbc.com/news/science-environment-46459714 that showed how eating habits affect the environment. A project's websitehttps://posadiles.ru/ where users can calculate how many trees they need to plant in order to repay their debt to nature. But the market didn’t offer a simple and clear algorithm for calculating a company’s carbon footprint yet. Existing alternatives discouraged users with poor appearance and complex terminology.
One can make a report simply having collected analytical data and putting it in Excel. But it would take a lot of time and effort to study the relevant documents and prepare a spreadsheet: there are complex calculation methods and numerous special terms. Our job was to make life easier for businesses by gathering all the necessary information and tools in one place and wrapping them in a bright and attractive interface.
Full-fledged product instead of an MVP
On the Purrweb side, a team consisting of a designer, 3 developers, a QA engineer, and a manager worked on the project. The customer worked along with us. We used our classic web tech stack:
- NestJS, TypeORM, postgres, and AWS for the backend;
- React, Redux Toolkit, Styled-components, Final Form, Rechats for the frontend.
We put off two other client’s projects we were working on. Our team decided to focus entirely on the new app, as it had great potential in terms of product-market fit (PMF). We had to make an MVP in three months, which we would then develop further. Well, that’s what we thought. But things went differently. This story was full of surprises. We had to go back to the drawing board and change everything that we first agreed upon with the client.
It took us seven months instead of three to complete the project. In addition to the increased development time, the cost of the solution has more than doubled. We went beyond the MVP we planned to create at first. As a result, we’ve made a full-fledged application ready to enter the market. Let’s talk about what happened.
Back to the drawing board amid the project
We at Purrweb have a lot of experience with startups. It‘s not news to us that the client’s priorities may change and the scope may expand or narrow. In most cases, we are ready for such scenarios: there is a honed management for this. But this project broke all the records. We weren’t expecting so many iterations.
Initially, we planned to build a solution based on interaction with the APIs of other services. The app would send them the data that needs to be calculated and return the result: in doing so, they would take on some of the computation work. That was clear.
After three months, we built a prototype. Unfortunately, we could not bring the product to the MVP stage. Since not all the flows were complete, users could not take to test it. However, you could already show certain parts of the application during product presentations.
And then everything went wrong.
Suddenly, the client began talking about datasets pouring some new terms and throwing more and more incomprehensible requirements. And we realized that we failed to sync with his expectations about the project goal and scope of environmental analytics. And maybe he didn’t know everything at the time.
We called very often and tried to extract all the information our clientpossessed. Along the way, we found international specifications for greenhouse gases by ourselves. And then we realized that we were going the wrong way: the reports generated by our application must comply with international standards that no one told us about.
These are GHG ( Greenhouse Gas Protocolhttps://ghgprotocol.org/media) standards. According to GHG, the company’s greenhouse gas emissions are divided into direct and indirect, and classified into three categories: Scope 1 (direct emissions), Scope 2 (“energy” emissions), and Scope 3 (other emissions).
Scope 1 and Scope 2 are mandatory for reporting, and Scope 3 is voluntary. Companies that report on all three parameters receive a sustainable competitive advantage, more favorable lending terms, and other preferences.
After delving into the details, we realized that our data collection methods do not comply with GHG. We had to replace APIs with datasets in the middle of the project.
The team went through three stages: denial, anger, and acceptance. We studied these standards and rewrote the server logic of our application. It was hard, but we did it. We managed not only to adapt to new global requirements and standards, but also to add new functionality.
This took another four months. The whole time we were facing narrowing time constraints. The Owner wanted to show the project to investors and potential clients as soon as possible. That’s why we used the old architecture to the fullest, only to refactor it afterwards.
We figured out the environmental agenda on our own. It took about two weeks to study the documentationhttps://ghgprotocol.org/sites/default/files/standards/ghg-protocol-revised.pdf alone. There was a tremendous amount of new information we had to wrap our heads around.
The main difficulty lied in the verification of our calculations. We spent a long time to understand how it works. It seems that now any of us can work as an air pollution control consultant.
For example, it turned out that each country has its own datasets with coefficients for calculating emissions, which are updated once a year. Each year countries determine their emission factors based on national measurements and analytical studies. Having learned this, we realized that coefficients should shift flexibly for the user and update annually.
It was a whole other story about tables. This project leveled me up. It has a lot of spreadsheets. Later, the customer sent us documents with table examples but at first, everything was purely in words. I tested different methods to create a unified system and implement it throughout the layout. I've done it almost everywhere.
In addition to the epic spreadsheets story, the designer had to solve the problem of scarce screen space in the middle of the project. He added another level of submenus and split the content into different screens: for example, information about a car and the emissions it produces. As a result, it turned out usable and good-looking.
It was hard, but we did it
It’s a story with a happy ending. The first customers already use the service. The owner says that everything’s great and he’s happy with the result. We’ve developed a friendly design, translated complex terms from documentation into human language, provided a simple interface for data storage and report generation. Our application does the heavy lifting for people who need to prepare these reports.
We still send invitations via the admin panel, so at this stage, one can judge our work only by the number of demo requests. Our clientreceives them 10 times a day. When the registration opens, we’ll check the number of affiliated companies.