Open source anti-corruption code (and not only)

    update (06/10/2014): Alexey published the FBK report for 2013, referred to this post and promised to complete the system in 2014. And this is awesome. Habr - force.


    I should have written this post about a year ago. At the end of 2012, being the director of the Anti-Corruption Fund , I, among other fund employees, organized a second fundraising at RosPil , where we made a number of promises regarding the development of the Fund’s information system, which should have been reported for a long time.

    RosPil is the first truly successful public project in Russia, the logo of which, incidentally, was invented by an anonymous user of Habr , and Pavel Senko also made the site in rubles for free . The essence of the project is to conduct formal legal investigations of suspicious purchases from by contacting government agencies and making the results public.


    One of the ideas that I actively promoted at the Fund was great transparency and automation of the work of lawyers. I wanted to abandon the use of Google docs for publishing documents, instead loading them into a special system, where the connection of requests and answers to them, as well as whether the documents belong to one “case”, will be tracked. Thus, you will not be able to forget about any business, you will always see that everything is brought to an end and not abandoned. There will be a place where you can in a convenient and accessible way look at the activities of the entire Fund and each lawyer in a historical perspective.

    That is why the request for money ( working link to the full presentation, see slide 25) the creation of such an information system was included. As well as the promise to disclose it to other lawyers and organizations. Fundraising was successful, they collected more than ten million rubles and FBK really developed such a system under my leadership as a fund director and product manager. About a million rubles was spent on this and I feel obligated to officially share what has been done with public (your) money. All code and designs are licensed under an open license Creative Commons ( Attribution-NonCommercial-ShareAlike 4.0 International ), which is reflected in agreements with the Fund signed by Alexei.

    Here I have such a teaser about what happened so that it becomes interesting for you to read further. The source code, all designs are published below, the basic entities and development plans of the system are described. And, of course, thanks to the authors.


    The current version of the system and basic concepts

    Unfortunately, the Fund did not fully implement the system, although Aleksey even provided links to several investigations. The current version with several Foundation investigations can be found here: . The following basic entities are available to an unauthorized user:

    Case on to-do list

    List of all published fund cases. The essence is seen where they turned when the last time. For authorized there are all kinds of filters and other logical things (see designs below).


    Case Page

    The hierarchy of documents of the case, where you can see who turned to where, as they answered, the connection of documents and the result.


    Separate document

    All details on the document, including a scan of the paper itself, so that you can read it.


    New design and second version

    The first version of the system was designed to automate the work of the Fund and more effective interaction of lawyers with Alexei and other employees. The second version was developed with an eye to full publication, discussion and sharing of cases on the Internet. The main difficulty here is that high-profile investigations cannot be published immediately, because PR-reason disappears and the idea can be stolen by competitors, or preventively corrected by the authorities, so the case is first conducted inside, then published, then supplemented. In addition, scans of documents contain passport data and other personal information of the participants of the correspondence, which must be hidden during publication, but left in the access inside.

    The second version is in the form of fully developed design layouts of all pages and most of the code. It did not work out just to lay down and pull. The full archive with layouts in psd is here: , and below I want to show some basic innovations. By the way, the overall design is also modernized.

    Version of the case page for publication




    Popup for previewing documents


    Document page with opportunities to cover up personal and highlight important


    Upload videos and photos




    The full archive contains about 20 screens, with filters, all conditions, preparing the case for publication, and other authorizations and error pages. In fact, a fully developed product interface.


    I don’t know what to say, because I myself am an expert on .NET development, I do not understand anything in the ruby ​​code.

    The code is here: . The code is covered by tests, an automatic build is configured with their run on travis-ci and codeclimate is connected. Deployment instructions included. Questions can be addressed directly to the authors (see below), I think no one will refuse to help.

    Ideas and Prospects for Use

    Plans for the next version were as follows:

    • To enable third-party users and organizations to upload their investigations (with moderation and expertise) and make an investigation feed
    • Add geolocation to organizations and businesses to reflect all this on a map and replace RosPil’s site
    • Combine on this basis RosPil, RosYama and RosZHKH (pit and porch is a special case)
    • To develop the functionality of template investigations and answers by automating typical unsubscribing on roads, entrances and not only
    • Create an online catalog of civil society organizations and activists doing similar things with ratings
    • Create an online catalog of specific officials and organizations writing ratings answers
    • Open data via api

    I think the direction is clear. In an infinite perspective, perhaps this could even be monetized, by selling, for example, to the state, as the basis for a normal system of feedback and appeals to officials at all levels. But most importantly, this would allow solving much more specific problems than solitary, albeit very resonant investigations.

    Authors and thanks

    I want to express my gratitude to everyone who took part in this interesting project and made it possible:

    I think none of them will refuse to help you with advice on the development of the project or its ideas. On issues of interaction with the Fund, you can write to the current director - Roman Rubanov . You can always contact me here: .

    PS: Friends, this post is not about politics, but about I'm interested in open source social product development. I would very much like that the materials and ideas of this project were used for the benefit of our society and, I think, I could not find a better place than Habr for publication with a similar purpose. I remind you that political discussions according to the rules are categorically not welcomed, it’s better to send all political issues to me in PM on Facebook.

    PPS: Tomorrow is Alexei’s birthday, so, taking this opportunity, I congratulate him on the upcoming occasion, and I wish you excuses in all matters and opportunities to do all this and much, much more.

    Also popular now: