I started my journey with programming when I was 16, learning the C language at school. At first, it was like magic. I liked the feeling of being able to make a computer do anything I wanted to.

Things started to get interesting when I received my first android phone. With my new (although limited) knowledge, the first thing I thought was “how can I do the same with this?”. Since I learn best by practicing, I started making some very basic applications which allowed me to explore the android SDK.

I didn’t stop there anyway. I’ve been modding my android phones ever since android 4.4. You can imagine my surprise when I understood that android is actually an open-source project. So I decided it would have been a good idea, in order to further understand android at its core, to try and tweak the AOSP by myself. So I did, but didn’t play with it for as long as with my initial apps. At the time I was starting university, and the development and maintenance of such a project by myself was a way too big task.

During this period I also experimented with various technologies. For example when telegram added the bot APIs I started experimenting with python to make a telegram bot. By the time I had started the university, I could handle the task of writing a bot that would give me the school hours on demand.

While in university I also started another android project. I took Hub as an excuse to learn Kotlin, a programming language that had just come out. It was a notification categorizer, so I could for example automatically remove some notifications that weren’t interesting. Some others that instead, were interesting, could have been categorised. So whenever I unlocked my phone, only one notification told me how many things had happened that I would care about.

While the university takes most of my time, some courses have a project to create in order to pass the exam. Some of the ones I liked the most are listed below.


This is the final project for the programming 3 course. The task was to simulate the mail management system. All of this, with advanced concepts like thread pools, network access, inheritance and interfaces, and so on.


This is a two-part project, one for the HCI course and the other for web technologies course. The main task, was to manage a booking system. For the web technologies course, we had to make the backend with java servlets and the frontend with angularjs. This part is located here. For the HCI course, we had to make the android client for the previous one. This part is located here