About me

My name is Goran Nikolovski. I was born and raised in Subotica, Serbia, where I currently live and work. Creating things and learning about programming is what makes me happy. I really like my job, in fact, I don't even see it as a job, since it brings me true happiness when I do it.

I'm a highly experienced Drupal 7, 8 & 9 developer with an extensive skill set that includes PHP, MySQL, HTML, CSS, and Javascript. I have experience with large Drupal sites and Drupal Commerce 2.x integration, and I'm the author of several Drupal modules. Besides PHP and Drupal, I also enjoy working with React JS.

Goran Nikolovski
Goran Nikolovski

Another thing that I like doing is working with servers. Setting up and optimizing web server is as much challenging as programming. Having a good deployment tool is also essential in modern development. I like using LEMP stack (Linux, Nginx, MySQL, PHP) for servers and self-hosted GitLab for version control and continuous integration.

My whole toolset is open source, and that is why I like contributing back to the community. I truly believe in giving back -- that's why I work on open source projects, and that's also why I visit and speak at various Drupal camps and meetups.

I'm known as gnikolovski online. Below are some of the accounts where I publish my code, thoughts, and other content:


During the past several years I've worked on many Drupal 7, 8 and 9 projects. This includes many websites, webshops, web apps, and individual modules and distributions. I've gained experience in almost all areas of Drupal like:

  • Drupal 8 and 9 (Backend development - Twig - Migrations - Custom integration)
  • Drupal Commerce 2.x integration
  • Payment system integration
  • Product synchronization with 3rd party systems
  • AI recommendation engine integration
  • Drupal 8 and 9 decoupled solutions (both GraphQL and JSON:API)
  • Drupal 7 (Backend development - Rest API - Custom integration)
  • Drupal Commerce 1.x integration
  • Custom payment solutions for Drupal Commerce 1.x
  • Memcache, Redis, Solr integration
  • Various 3rd party API integration (CRMs, mailing app, desktop software, various printers ...)
  • Gitlab, Gitlab CI, Docker


Some of the projects I've been working on:

  • readyseteat.com is a unique website that makes it easy for consumers to find hundreds of recipes for quick, easy dinners, and also shows them where they can buy the ingredients on special at local grocers. There were two main reasons why Drupal 8, was chosen. One was Drupal’s strength in content management, the other was the ease of integrating 3rd party systems.

    My role in the project: backend developer.
  • essilorluxottica.com is a company website. Drupal 8 was chosen because of its strength in content management and its multilingual capabilities (English, French and Italian language).

    My role in the project: backend developer, frontend developer.
  • gusenica.rs is an online shop, that sells various products for home and kids. It's built on Drupal 8 and Drupal Commerce 2.x. I choose Drupal 8 because it is a powerful and versatile content management system, it's a very search engine friendly and secure application framework.

    My role in the project: backend developer, frontend developer, devops.
  • druact.gorannikolovski.com is an open-source example of a decoupled site using Drupal 8 and ReactJS. One of the earliest examples of using ReactJS in combination with Drupal.

    My role in the project: backend developer, frontend developer, devops.