My First App As a Freelancer Might Get Me Banned From Croatia

by Jun 18, 2020

First of all, let me admit that the title of this post is very clickbaity. No, I’m not going to get banned from Croatia (I hope), but I may have pissed off some prominent Croatian politicians (I hope). The app I’m referring to is called Otvoreni Akti, which is Croatian for “Open Acts”, and is made using 100% legal and 100% juicy open government data that’s available online. 

Otvoreni Akti is a search engine that indexes all this juicy data, specifically the open mayoral statutes (aka acts or decrees) by the infamously corrupt mayor of Zagreb – Milan Bandić. It then presents this data in an easy to use and super fast search engine.

Otvoreni Akti translated into English

While this in itself may not sound like a lot, but it’s a powerful tool that makes the mayor’s actions, his statutes, and the movement of money transparent and accessible to the people of Zagreb. In the age of open data, knowledge is power.

Otvoreni Akti was officially launched to the public following a press release. Here’s what one of the news articles had to say about it (I’ve translated the article in English using Google Translate):

The CLUB of representatives of the left bloc in the Zagreb City Assembly presented the website Otvoreni Akti – a project of a simpler and more transparent search engine for all the mayor’s adopted acts.

The application available HERE was developed voluntarily and funded by councilor fees in the hope that it will be used as a tool in the fight against corruption and for transparent public administration, which, according to the Left Bloc, Zagreb and Croatia deserve.

Svibor Jančić (Za Grad) said at the press conference that the search engine represents only a small part of what they can and want to do in the field of digitalization and transparency of public administration, starting from Zagreb.

“While the current search engine is extremely cluttered and unworthy of the 21st century, Otvoreni Akti allows for detailed search within all documents and formats, which has not been possible so far, as well as advanced search capabilities for entire phrases or terms,” he noted.

More transparent than the existing one

Testing the current and new search engine, when he typed the term “Prague”, three results were dropped on the current search engine, while the Otvoreni Akti search engine dropped 270 results.

“The Otvoreni Akti search engine is simpler, better and more transparent than the one that now exists,” Jancic said.

He added that our cities are very poorly digitally developed, and although it seems that this is changing, the current situation shows that it is at low levels, below 50 percent in most cities.

“We want to show that this can be done much better through information technologies. We want to show that it is easy to digitize public administration in order to relieve citizens of bureaucratic entanglements,” Jancic said.

Tomislav Tomašević (Zagreb je NAŠ!) said that the search engine is a gift for journalists, researchers, MPs and citizens who will now have a more transparent insight into what the mayor does and how he spends our money.

“We gave you the tools, we expect you to find a lot of scandals now,” he added.

How It All Started


In Jan 2020, after having spent Christmas with my friends in London, I flew to Croatia for the first time. As fate would have it, on my first night itself in Zagreb, I met two like minded developers – Dražen and Marko. It was love at first sight. We bonded over our mutual love for Python, Django, Japan and beer! And also, Krankšvester.

A few weeks later, Dražen asked me if I was interested to help him with his brainchild – Otvoreni Akti. He explained what the project was about and if I was available to help turn it into a workable search engine using all the goodness of Django and Elasticsearch. At that time, I had never done a Python project for anyone else except for myself. I was hesitant and scared. In fact, I even had a mini anxiety attack. What if I didn’t know how to make anything useful? What if my Python and Django skills were too basic to embark on an actual project? Wasn’t I supposed to only start in July 2020? Was this too soon? Should I just say no? But what if this turns out to be an awesome project?

Like everything good that has ever happened in my life, I knew that the fear was a good sign, and that I had to jump into the icy water if I wanted to retrieve the Sword of Gryffindor (a bit of Harry Potter reference there).

And so I did.

I spent the next month, coding away, from 8am in the morning to 8pm at night (and that’s no exaggeration). What started out slow, eventually gained so much momentum that I couldn’t stop myself from coding even on the weekends. I was having too much fun! Eventually, I had to force myself to take mandatory “days off” where I would walk for hours by the beautiful Croatian coastline or visit the nearby city of Rijeka to eat delicious vegan meals. Dražen mentored me throughout the whole process, often checking my code and making suggestions to make the code flow better. Not only did we end up making an awesome app, I also learnt from some of the best in the business!

By February, I had finished the basic version of Otvoreni Akti, and Marko and I presented it at an Open Data conference in Zagreb. It was a huge hit! Otvoreni Akti got some much needed user feedback and exposure, and the next phase of the project began.

By the end of February, Dražen uploaded Otvoreni Akti to Heroku and later in June to it’s own dedicated server. Marko helped us to create the awesome front-end design that you now see on the website.

During this time, Dražen helped secure funding for the project and also created some interest in the community for the app through various channels. And thus, Otvoreni Akti was launched!

A Bit Of Techie Stuff Now


At the core of Otvoreni Akti, is Python. It’s what we use for running our scrapes and finding new mayoral acts as they are released to the public.

We use Django for our web framework because it’s built on Python and has a fantastic ORM that makes the database a joy to access (like it should be).

PostgreSQL for our database because it plays nice with Django (and because it was the only database architecture I knew at the time besides MySQL).

Elasticsearch engine for its power, speed and fairly decent Django libraries!

Celery and Redis to automate our scrapes.

HTML, CSS and Bootstrap for the front-end design, though we plan on removing Bootstrap at some point.

And the best part about Otvoreni Akti, is that it’s open source! Which means that you can go and check out the code for yourself at Github.

What’s Next


Wouldn’t it be awesome if we could build an AI to find all the shady dealings by the mayor and connect the paper trail of money?

Well, that’s what’s coming up next.

Shameless Self Publicity


After all that, as if we needed a separate section for this 😂. But yes, in case its your first time here-

Hi! I’m Ranajay and I’m a freelance Python and Django developer. I absolutely love doing what I do. If I didn’t, I’d go back to the Oil & Gas and Pharmaceuticals industry, whom I formerly worked for as an automation engineer. You can check out my portfolio HERE.

Dražen is an amazing freelance developer and has his own freelance firm – Punk Rock Dev.

Marko is an awesome Python and Django developer and you can find his portfolio HERE.

And finally, it’s time for me to end this post with a song, like I usually do for all my posts.

To that end, I’ll leave you with the most Zagreby song I can think of. A song that was a constant companion through my long hours of coding, a song about Zagreb, the struggles of life, and the undying, unwavering, unrelenting heat of the city asphalt.

You May Also Like:

A Map Of Ranajay’s Journey So Far in 2019

A Map Of Ranajay’s Journey So Far in 2019

Most of my posts on this website, so far, have been about my past travels. And while those stories are important, because they’ve shaped who I am and how I travel, I also wanted to share a bit of my journey so far in 2019…

read more

Share This Story:

Pin It on Pinterest