Verified Expert in Engineering
Machine Learning Developer
Nikola is a software architect, researcher, and software engineer. As a university assistant professor with a Ph.D. in computer science, Nikola has a robust analytical approach to problem-solving, which yields practical and effective solutions. Nikola's communication and coordination skills were developed throughout a six-year CTO and consultancy stint in various software engineering projects from diverse business domains.
Visual Studio Code (VS Code), Git, Vim Text Editor, Linux, MacOS
The most amazing...
...thing I've developed was a real-time hotel occupancy forecasting and price optimization microservice for a large client in the hospitality industry.
Senior Software Engineer | Data Scientist
Fortune 500 Company
- Contributed to the development of ETL processes using PySpark and EMR.
- Developed abstractions for unit testing PySpark applications.
- Developed PySpark applications for preparing the datasets for further modeling.
- Contributed to the development of advanced data quality assessments using PySpark.
Juraj Dobrila University of Pula
- Lectured on dynamic web applications, software engineering, and blockchain development courses.
- Performed active research in cloud computing, optimization, and AI.
- Led research as a head of the lab on AI, process automation, and optimization.
Technical Consultant | Software Engineer
Maistra d.d. | Adris grupa
- Integrated machine learning algorithms for real-time processing of hotel reservations, outputting occupancy forecasts and Pryes optimization suggestions.
- built a data pipeline from transactions to forecasting and optimization.
- Monitored processes and automated data quality checks.
Developer (Data Visualization)
MIT Media Lab | Constitutionology
- Extracted and transformed data using Pandas.
- Built a custom scrolling framework compatible with Vue.js and D3.js.
- Created several data visualizations and animations.
MIT Media Lab | Skillscape
- Extracted and transformed the required data for the web application to keep it compact.
- Created an Angular 5-based front end and integrated it with D3.js for advanced interactive visualizations.
- Developed multiple interactive D3.js visualizations (networks, charts, and maps).
- Applied Pandas and fuzzy matching to merge heterogeneous datasets.
- Led the development of both the back-end and front-end teams for a model-driven multi-platform information system. The end result was implemented in over a dozen South European customers in the supply chain management and retail domains.
- Managed and led the development of a mobile and desktop cloud cash register software-as-a-service (SaaS) product with several thousand SME clients.
- Built a fast in-memory Java-based OLAP solution that was capable of handling several million records efficiently.
- Developed low-level Java drivers for a Bluetooth card payment processing terminal.
- Designed a domain-specific language for specifying the database structure, REST services interfaces, and business processes workflows interpreted on a mobile hybrid web application based on PhoneGap.
- Integrated Pentaho OLAP BI for various clients; programmed numerous MDX queries for extracting data from datamarts.
- Engineered two major releases of a custom content management system that was implemented in a large Croatian hosting service company.
- Implemented an eCommerce solution for several Croatian retailers.
- Created a web portal for a tourist accommodation aggregator company based in Germany.
MIT | Skillscape Project
My role was to extract and merge data from heterogeneous datasets and visualize them within an interactive web application using multiple D3.js techniques.
MIT | Constitutionology Projecthttp://constitutionology.unicefstories.org/
Constitutionology is a neologism for the scientific analysis of national constitutions. Techniques such as information retrieval, network analysis, and natural language processing allow us to understand how constitutions change and what causes specific provisions e.g., protection from child labor or the right to privacy to be adopted.
Cash Register SaaS
My role was the implementation of the microservices for forecasting occupancy and proposing optimal rates.
Evolving Software Systems: Analysis and Innovative Approaches for Smart Management (EVOSOFT)
As they are often distributed, heterogeneous, decentralized, and inter-dependent and operating in dynamic and unpredictable environments, availability and reliability become key properties for its operation and future evolution.
The novel-and-still-unexplored area of research addressed in this project aimed to understand how abstract software structures and local system properties influence fault distributions, thus affecting mission-critical system properties (among which concerned availability, reliability, and the development of innovative approaches for smart management of their operation and evolution).
My Role: Researcher
Optimizing Cloud Information System Configuration Compliant With Service Level Agreement, PhD Dissertation
Contributions of this thesis are a model of the execution environment for optimizing cloud information system with regards to quality and infrastructure cost, a component-based information system architecture for dynamic reconfiguration, a method for evaluating the performance and cost and selecting configurations compliant to service level agreement, and evolution algorithm for optimizing configurations in the simulation environment.
Mobile Cryptocurrency Exchange Platform
Vue, Pandas, REST APIs, PySpark, Keras, D3.js, XGBoost, Web3.js
Git, Pytest, Vim Text Editor, Amazon Elastic MapReduce (EMR), Jenkins, GNU Make, Tableau
Data Science, ETL, REST, Microservices, Object-oriented Programming (OOP), Microservices Architecture, Model-driven Engineering (MDE), Concurrent Programming
Amazon Web Services (AWS), Ethereum, Java EE, Blockchain, Docker, Kubernetes, MacOS, Linux, Android, Visual Studio Code (VS Code)
MySQL, PostgreSQL, Neo4j, MongoDB, SQLite
Data Analytics, Big Data, Artificial Intelligence (AI), Content Management Systems (CMS), Data Engineering, Cloud Computing, Blockchain Development, Machine Learning, Writing & Editing, Research, APIs, Back-end, Software Architecture, Deep Learning, Generative Pre-trained Transformers (GPT), Natural Language Processing (NLP), Chatbots, CI/CD Pipelines, Computer Vision, GRAPH
Spark, Apache Spark, Ionic 3, Angular, Unity, Truffle
Doctor of Philosophy (Ph.D.) Degree in Computer Science
University of Zagreb - Zagreb, Croatia
Master of Science (MSc) Degree in Computer Science
University of Zagreb - Zagreb, Croatia