ACTS: mapping to stop corruption

ACTS

This post is about cartography, corruption and philosophy. A weird combination, but it does make sense, I promise!

Last week a final stage of regional selections to the first Ukrainian incubator 1991 Open Data Incubator took place in Kharkiv. This event gathered various projects, start-ups, that use state-provided open data for the greater good of us all. Two of the participating teams have geo-related projects. We had a chance to talk to the developers and will now tell you what we spoke about.

ACTS (or Active Corruption Tracking System) project finished in second place during the hackathon, and left some people very intrigued. We have spoken to Dmytro Skorobohatov and Mykhailo Kushchenko about their start-up.

 

Dmytro Skorobohatov:
I’m Dmytro, I was born in Krasnyi Luch, I’m a potential gonzophilosopher.

Mykhailo Kushchenko:
I’m Mykhailo, an anarchist and citizen of the world, also a Python developer.

Ganna Novgorodova:
What is your initiative called, what is it made of, what makes it special?

DS:
Active corruption tracking system – ACTS. It’s a social project. It represents a system with a cartographic interface that enables the users to file a complain about acts of corruption. The claims are further aggregated and displayed on a map, and also in a table format useful for statistical analysis.

The system consists of a mobile app and a web map, that displays corruptional activity. So, there is an operational component that enables a person to make a claim, and a visual part that shows statistics in and region and Ukraine as a whole.

GN:
Why did you start working on this topic? Why does it interest you?

DS:
This is personal. It solves my own problem. In the 90-s I had no other way to monetize my intellect other than being paid for solving math problems for lazy students. Later on I realized that I had a very negative impact on the society and I was shocked. Today I have zero tolerance to corruption and want other members of the society to hate it as much as I do. Here I am using Immanuel Kant’s categorical imperative. Meaning that I believe that the maximum of my behaviour must become a common law. This imperative is a final theoretical limit of ACTS. The aim is to remove corrupt activity from the everyday reality, for people to start thinking of it as harmful.

GN:
How do you think will ACTS help to achieve this?

DS:
As corruption is a social phenomenon, to work with it we have to define what we understand by “society”. In Ukraine it is very common nowadays to see corruption as a necessary part of social interactions. Something that stabilizes the structure of our society. This vision is based on the concept of structural functionalism. Unfortunately this theory does not give an average citizen any ways to influence the social phenomena. Moreover, it legitimizes acts of corruption in the daily life, gives a moral right to delegate anti-corruption activities to the authorities.

In the structural functionalistic approach corruption is treated as a mechanism that helps the society to balance itself. Proponents of this idea always say that corruption is necessary, “the people are just like that”, I think you’ve heard, “what do you want to stop? you will not stop anything, they have always taken bribes and always will take them!” This is because they think of corruption as of an important component of the social order at the moment.

On the other hand ACTS idea is based on the concept of symbolic interactionism. It states that a person is an active player of a social process, that it is the people who are constructing and destroying certains social phenomena.

dima
Dmytro Skorobohatov, image credit: 1991 Open Data Incubator

GN:
But you haven’t answered my question. In what ways will
your cartographic system help fight corruption?

DS:
Making it public.

The system helps collect statistical information that can be used actors that are direct corruption “destructors”.

Symbolic interactionism gives the background to substantialize corrupt activity. To start treating it like matter. This means that we can observe where this activity is “born”, starts to appear, follow its life cycle and at the end of this cycle to see it turning into ashes.

We are operation the term of “corruption generator” when speaking about any state or municipal institution. And we call those state organs or NGOs or movements declaring their anti-corruption agenda – the “corruption destructors”.

Thus, we have a system where there are corruption breakouts, and we have some system elements that will be able to destroy it. To create a link between these two elements – that is the goal of ACTS.

Moreover, the market for destructors in Ukraine is oversaturated. There are a lot of NGOs and people that claim they are fighting against corruption. Nearly everyone says that. It’s a very beneficial topic, very easy to gain some symbolic capital exploring it, that’s what everyone is doing.

GN:
But these may only be loud statements.

DS:
That’s right. It’s not necessary that a destructor is someone claiming to be one. That actor can even be a corruption generator.

The system may make destruction activity personal, enev provoke competition between the actors. And where there is competition – there is always optimal behaviour.

GN:
Would you explain to me about how it works, what parts does it consist of?

MK:
In general, the system is supposed to consist of three parts: an app, that registers claims, server-side, storing the data, and web-interface, front end, where one can see the claim data in a map.

The web-server stores the data: geodata, data on claims about corrupt activity.

GN:
So, the claim records are not geodata?

MK:
There is a connection between geodata and claims. The claims are linked to organizations  they are reported at, the organizations are linked to some geo object, like a building on a map.

There is an app for a mobile device. It was planned as a means of claim registration. For instance, you come to an office, don’t like something, and you file a claim. But there is an opinion, that, for example, it will be handy for the users (when arriving to some institution) to see what others are complaining about, they know what to expect. So the user needs to see what’s going on using the app.

There is also a cartographic web-interface showing claims, information about the reports can be viewed. Similarly, claims can be added there too.

GN:
Does it work at the moment? Can I go to your web-site and report some acts of corruption?

MK:
Yes, at the moment you can add claims through the web-interface and view them all.

GN:
OK, a few words about the geodata. How are these displayed, which platform did you choose?

MK:
We have chosen the Leaflet open source JS library for web-mapping, the tile provider is OpenStreetMap.The geodata was (and still is) created by ourselves: digitizing institutions polygons by their address.

DS:
First we had chosen to use an OSM extract, but this approach turned out to be not systematic enough. We had a need for extra attribute information, organisation types, etc.

MK:
Leaflet works with GeoJSON format, and we have chosen GeoJSON as our system’s main standard. Dmytro uses QGIS to create polygons, exports to GeoJSON, through admin area passes the data to our server. Then there is data mapping in  SQL, PostgreSQL, where they are stored. For display the data is converted to GeoJSON once more and passed to Leaflet. We use PostGIS to store polygon shapes, I mean the coordinates.

At first GeoJSON was stored on the server as a separate file and was passed to Leaflet. And the claims were stored in the database. But as the number of entities and their attributes grew we had to move to SQL completely.

The claims are stored in the database in a separate table. So it is linked to institutions, the institutions are linked to polygons.

misha_k
Mykhailo Kushchenko

DS:
There is identifier optimization. They are optimized in a way that an ID can be used to trace parent-child relations. For example, Kharkiv region contains its sub-regions polygons, a subregion contains its settlements, the settlements or big city districts contain the institutions. The institution type is encoded separately, this is for queries, for statistics. Ideally, we would want to get all the admin levels and institution levels using a minimum of SQL queries.

MK:
And here comes the need to involve a senior Big Data highload Pythonist (ed.: Senior Python Developer).

GN:
What is needed exactly for your system to start working? If only a couple of people make complains, this will not show the whole picture. What are your plans for product distribution?

DS:
We have several thoughts about marketing strategies. One of them is domain dependent: preparing the system for specific institutions. Like municipal offices, places where there is a big amount of people. Implementing our system into this environment will enable us to create a core of stable users.

For instance, we might use sticky-management, viral management.

To use our system one at least has to own a portable device, where they install our app, or use the Internet to go to our web-site.

GN:
What about your app? Is it user friendly?

DS:
I think so. The final version of the prototype is quite easy to use, comprehensive, intuitive.

GN:
How do you find people to work on your project?

DS:
This is a tough question. It’s hard to know anything in advance.

We find them through social networks… sometimes by accident.

GN:
Your current team members, where did they come from? Who are they?

DS:
We have a stable team core – several people. They are developers, designers, other volunteers. When an effort is made, specialists in the required fields also join our team.

GN:
How do you find people when you need something done? All this work is done by volunteers, right?

DS:
Yes, that’s right, it is. We knock on various doors, one out of a hundred doors opens. And we get help.

Or like, someone forks us on github, starts to work. But these people appear and dissapear unexpectedly.

GN:
What kind of help do you need? What else is to come?

MK:
Most of all we need volunteers, specialists, as it is stated on our facebook. They are app developers, JS developers. Javascript UI/UX developers, Javascript Leaflet developers, Python developers. Our app developers are already working, but there are still issues with frond end. We also need to consult with a Big Data specialist.

GN:
What stage are you on in your project?

MK:
It’s a prototype, at about 30%.

DS:
We are developing an mvp, with the app, minimal functionality, so it is comprehensive with not extra explanations needed. We have made it to 50%.

MK:
There are different parts. Like architecture. For example, in what way the geodata will be imported, displayed, stored, the data structure. This is more or less settled. But for it to work with concrete users there has to be an interface. It can have various forms. Depending on usability. The interface is at its initial stage, the architecture, what everything is based on, is nearly done.

GN:
What else is there to be done for your system to work? And I don’t mean the test mode.

MK:
One of the options is finding a “customer”, not a national, but, for example, on a municipal, or regional scale. These may be groups of people that oppose corruption. They would make publicity, take actions and decisions concerning the claims.

GN:
And what if you don’t find this “customer”? What will you do next?

MK:
We have an aim, we still have enthusiasm.

DS:
It cannot be that we don’t find some actor to work with. Maybe at the moment it does not exist, it’s not institutionalized, it will definitely emerge from the overheated anti corruption market, that is rapidly growing in Ukraine nowadays. We believe in a social requirement for fighting corruption. This system has to involve people in this fight. It will give any citizen a means to act on their own, not to forward their responsibility to someone else.

GN:
So, this means you are not ready to be this “customer” yourselves? You only take up the recording part, data provision?

DS:
I see no sense in entering destructors market. It is oversaturated with “service providers” at the moment.

GN:
Good. You have mentioned that there are destructors, generators. And what are you and your system?

DS:
We are a tool for these destructors, who are plenty. But they don’t know it yet.

GN:
But similarly with the destructors, the generators may make use of your system. There may be other ill uses.

DS:
Sure. This is not a conceptual bug in our system, it’s a feature. We aim to decrease corruption. So, having the information that a certain institution is more corrupt or less, a person will make their own choice, if they look for a place to give a bribe, they will find it, go there. In this way they will increase the corruption where it already is very high. Add some more statistics.

Also, the system may be misused in other ways. Claims may be made about relatively honest people, that someone wants to get rid of.. We take this into account. We do not claim ACTS to be an evidence database. It’s an indicator, it shows locations where anti-corruption action can be applied, extra attention paid.

 

Final thoughts.

 

MK:
At the moment corruption is like this black cloud impermeable for the light. Some magicians (like anti corruption actors) take some wierd thing out of it, the civil society makes some kind of ‘wow’ exclamation. ACTS has the potential to display this “cloud” as a set of structured data. This will enable to define corruption hotspots, making fight strategies and planning to use resources wisely. So, instead of playing “hedgehog in the fog” the civil society can organize an efficient process.


DS:
We have started our conversation with Kant, so I suggest we revise his understanding of Enlightenment as a human ability to use the intelligence. If we define it and scale it up to the present days, this ability is nothing but the search of ways to influence the society, defined by categorical imperative. This is about taking responsibility about the future, for development direction, society’s progress or degradation.

That is why ACTS is not only an instrument to control tax expenditures and saving state money, but it is also on instrument of Enlightenment in modern Ukraine. It helps to form and strengthen our civil society still struggling to overcome the totalitarian past.

 

If you want to help the project in any way, you can get in touch with guys via their facebook page or fork them on github.

Like and share, ask questions, make suggestions! Let’s support good ideas!

pereryv