Gorjan Jovanovski is an eco-activist, entrepreneur, public speaking coach, IT consultant, software engineer, and the creator of AirCare – a mobile app that tracks the quality of the air we breathe. His mission is to raise awareness about current air pollution issues through modern technology and his app utilizes open data to visualize air pollution. The launch of AirCare took place in 2014 and has since prompted nationwide protests in North Macedonia and Serbia by citizens demanding from the local governments to take more severe and actionable measures in order to reduce air pollution and tackle this critical issue.
Gorjan has worked with both large corporations and small startups, while he also manages self-run projects and thinks people should acquire experience working in all these different environments by learning from and adopting the most beneficial aspects from each ecosystem.
In big companies, like Booking.com, I learned about correct organizational structure, leading big projects, managing over 100 people, and handling crises that involved millions of euros, says Jovanovski, and adds that in startups, however, you need to learn to manage yourself, your time and tasks, since most likely you are a small team that has to be all over the place. But then, in a startup, you get to work for yourself, make your own product and see it become a global tool!
We had a chance to chat with Gorjan about the power of mobile apps, the technical aspects of his AirCare project, the benefits of DevOps to mobile app development, and much more.
Your eco-focused mission and the data from your app brought people to the streets, protesting for cleaner air. Where is the limit to what one mobile app with a good cause can do?
“The limit is only applied by those using it. After all, the idea of AirCare is to inspire change within a community, to be a tool for activists and governments alike, and start a movement for clean air. We provide both the information pillar, the education pillar and the empowerment pillar, but it is always up to the will of our amazing community to take our data, and turn it into real progress towards a greener and cleaner future.”
From the software-engineering standpoint, can you explain a bit more about what’s under the hood of AirCare?
“AirCare uses open data from a multitude of sources that it gathers every hour. For some countries, we use data from governmental sensor networks, for some we also have data from volunteer-run sensors, and for some, we even use satellite data from the Europe Space Agency. We basically aggregate as much air pollution data as we can, generify it, store it in our own databases, and serve it to over 500.000 devices worldwide that use AirCare.”
“One of the cool things from a technical standpoint is that AirCare is so optimized, the server that runs it costs only $10 a month, yet serves over 300GB of data to customers. And our apps are written in Flutter, an emerging Google framework that lets us write only one codebase, and deploy to Android, iOS and even web platforms! AirCare was even featured in 2019 on the main stage of the Flutter Interact 2019 conference organized by Google, as one of the coolest apps built on Flutter.”
How beneficial is the DevOps approach to the automation of the mobile app development process, especially for an app that functions and scales flawlessly such as AirCare, providing real-time data?
“With the amount of data that we handle, there is simply no way except automation. We have to make sure that all our systems flow by themselves, do not block each other, write to the database in a timely manner, and have alerts if anything goes wrong from which the system cant auto-recover. This is not a simple process, and it took years of getting it right, but looking back, I could have taken more time to read the best practices and set it up correctly from the beginning. But then again, AirCare was just a side project of a student in 2014, I never imagined it would grow to this size!”
How does the “Continuous Testing” component of the DevOps approach improve the quality of an app for the end-user?
“Continuous testing really helps you catch issues quicker, and solve them. Imagine a complex system where there are lots of components being written. If there is no continuous testing, then an issue might slip by till the very end, making 2 problems: 1) the issue is super hard to debug, given that there is lots more code now written and being a possible source of the issue, and 2) the issue might slip away from having too much to test, getting released and affecting users.”
What are your most and least favourite aspects (or phases) of the mobile app development process?
“I love the development process, from ideation to user testing and the actual coding. Making something and seeing it come to life, it’s just art! The one thing I do actually quite hate is deployment to the app stores. Both Google and Apple have a totally different way of deploying apps, different standards and rules. And since a lot of their systems are also automated, if something goes wrong, it’s super hard to contact a human on the other side and ask for help.”
“We actually had 2 incidents this year, where Google removed our developer account without reasoning, and only after appealing their decision, did they bring it back. No explanation, no apology, and no compensation for loss in revenue. So remember, with a web system, you mostly own your turf, but with an app, you are playing in someone else’s backyard, and need to play by their rules 24/7, or risk getting booted off a platform.”
To which direction do you see AirCare further developing?
“We have 3 main pillars that our app is built upon. Inform, educate and empower. We don’t really want to be just another air quality app that people use to know how bad the air is outside, we want to do something about it! By educating users on the origins and effect of pollution, and connecting them to local eco-organizations and events, we want to make our users the activists of the future, those who will actually do something about the pollution that surrounds us! We even have Breezy, a child mode in AirCare, that through cartoons, appeals to the younger audience, and helps keep them also informed from a young age about the threats of pollution.“
Since you have experience working as a consultant for companies of all sizes, what is the biggest mistake most new startups tend to make without realizing it? And how can they avoid making that mistake?
“They rush to make a product without seeing if there is a market for it. You think you have the best idea, your mom confirms it, and you set off to make it a reality. You code day and night, get the best team of devs, designers, copywriters. In a few months, you launch the app, and… 0 users. Why? Well, you didn’t actually check if you are solving a real problem, and if there are users out there for your solution.”
“We like to believe that our idea is the next Facebook, the next Google or Uber, but the thing is, 90% of ideas are flawed or bad. And you really need to test your idea with the target customer base before writing a single line of code, or risk wasting time and money on something no one is willing to use.”
Being a very experienced software engineer, surely you had a fantastic headstart to make your passion into something substantial. What would your advice be for a young enthusiast with a similar passion to change the world for the better?
“Do it. Don’t wait for anything. If you know coding, you have a head start, and if you don’t, grab a Flutter tutorial on YouTube, and teach yourself how to code. By knowing how to make simple apps, you can already start putting your ideas into reality.”
“A map of local recycling bins? An app of local eco events? Make it! Make it and share it with the community. Keep creating, and don’t be discouraged if it doesn’t work the first time. I have over 20 projects before AirCare that didn’t perform as well as I had hoped, but I learned a lot from them. So, with the words of the great Shia LaBeouf, just DO IT.”
Is there a mobile app out there that you wish it was thought of and created by you?
“Not really. There are great apps out there, but the one I want to create is the one I have a passion for. And that one is my baby called AirCare :)”
For us, as big fans of Gorjan’s work, it was a real privilege to get this interview and valuable insight into some crucial aspects of being an app developer, entrepreneur, and an overall great human being. We strongly suggest checking out his website and his work.