Karlo Dumbović, Developer in Zagreb, Croatia
Karlo is available for hire
Hire Karlo

Karlo Dumbović

Verified Expert  in Engineering

Bio

Karlo has over 10 years of experience in software development and has served versatile roles in his past engagements, such as principal software engineer, cloud infrastructure engineer, and machine learning engineer. He excels in producing reliable software in fast-paced environments, combining his software engineering skills and experience deploying and managing infrastructure that runs created software. Karlo holds the AWS Certified Solutions Architect Professional certificate.

Portfolio

Lebesgue
Amazon Web Services (AWS), DevOps, Databases, Cloud Infrastructure
Oculo
Simultaneous Localization & Mapping (SLAM), C++, Python, Flask, Kubernetes...
Toptal
Google Cloud Platform (GCP), Docker, Flask, TensorFlow, Keras, OpenCV, C++...

Experience

  • Python - 8 years
  • Computer Vision - 8 years
  • Artificial Intelligence (AI) - 6 years
  • Software Architecture - 5 years
  • DevOps - 4 years
  • Amazon Web Services (AWS) - 4 years
  • Kubernetes - 4 years
  • Terraform - 4 years

Availability

Part-time

Preferred Environment

Git, Python, Linux, Amazon Web Services (AWS), Docker

The most amazing...

...work I've done is developing for a startup from the beginning of an MVP phase to having notable clients over multiple markets.

Work Experience

Principal Infrastructure Engineer

2023 - PRESENT
Lebesgue
  • Rearchitected the system infrastructure on AWS to achieve better operational excellence, security, reliability, performance efficiency, and cost optimization.
  • Analyzed database efficiency and identified action points to achieve faster database queries.
  • Created infrastructure as a code in Terraform using best practices.
  • Set up CI/CD using GitHub Actions to achieve a smoother developer experience.
Technologies: Amazon Web Services (AWS), DevOps, Databases, Cloud Infrastructure

Senior Software Engineer

2019 - PRESENT
Oculo
  • Extended capabilities and improved the performance of the SLAM algorithm while adapting it for a company-specific use case.
  • Architected and implemented the data processing system used in production on AWS.
  • Created and continuously improved the infrastructure that ran data processing workloads on AWS using Kubernetes, Terraform, and Helm.
  • Designed and implemented an API for a data processing pipeline.
  • Dealt with camera calibration, camera models, and various image transformations to implement image and video processing algorithms.
  • Implemented integration with a 3rd-party API for user authentication and authorization.
Technologies: Simultaneous Localization & Mapping (SLAM), C++, Python, Flask, Kubernetes, Terraform, Electron, Docker, Git, MongoDB, Amazon Web Services (AWS), PostgreSQL, SQL, APIs, Software Architecture, Computer Vision, OpenCV, Image Processing, Artificial Intelligence (AI), TypeScript

Software Engineer

2018 - PRESENT
Toptal
  • Developed computer vision software using OpenCV, Python, C++, and deep learning frameworks like Keras and TensorFlow.
  • Built C++ extensions for Python when higher model runtime efficiency was necessary.
  • Created architecture and developed Flask-based web servers for serving computer vision models.
  • Used Docker containers to distribute implemented models.
  • Served models on Google Cloud Platform, which were made available via a web UI.
  • Developed a computer vision model for fish age classification, with inputs being images of sea mullet otoliths.
  • Created a computer vision model for semi-automated foreground object segmentation and matting in movie frames.
  • Utilized state-of-the-art pre-trained deep learning models and designed new ones in Keras/TensorFlow.
Technologies: Google Cloud Platform (GCP), Docker, Flask, TensorFlow, Keras, OpenCV, C++, Python, Computer Vision, Image Processing, Artificial Intelligence (AI), Software Architecture, TypeScript

Machine Learning Engineer

2022 - 2022
Versed AI
  • Created a large-scale web scraper that scraped hundreds of thousands of web pages in search of visual data.
  • Trained machine learning models responsible for extracting information from visual data.
  • Architected and deployed AWS infrastructure, efficiently processing large-scale web scraping and running machine learning models against scraped visual data.
Technologies: Web Scraping, Machine Learning, Computer Vision, Web Development, Amazon Web Services (AWS), PyTorch, Artificial Intelligence (AI), Software Architecture

C++ Developer

2016 - 2018
Photomath
  • Implemented and improved recognition of different mathematical expressions from OCR data.
  • Created a classifier that separates mathematical expressions from other data in an image.
  • Collaborated to design scalable data acquisition systems.
  • Improved performance of application core functionality using the Callgrind profiling tool.
  • Engineered a testing environment for regression testing.
  • Managed a team of four people working on different aspects of the same problem towards a unique goal.
Technologies: Python, CMake, Groovy, Bash, Git, C++, Artificial Intelligence (AI), Optical Character Recognition (OCR)

Software Developer Intern

2016 - 2016
Hashcode
  • Configured an easy-to-use solution for secure communication with a remote laptop in our client network.
  • Developed back-end and front-end parts of client web API in Scala, Java, and JavaScript.
  • Learned a lot about software development processes from people with significant experience in the industry.
Technologies: SSH, JavaScript, Java, Scala

Experience

3D Tracking of Multiple Balloons Using Computer Stereo Vision

https://github.com/dkarlo2/TheBalloonProject
This project is a part of a wider project that focuses on interactive audience participation in live concerts, and in its original version, suggests the use of only one balloon as an interaction media. The goal of this project is to build a system that is able to estimate 3D world positions of several balloons during the concert, and to calculate them in real time. The system uses two static cameras placed in front of the audience. In every frame, it needs to detect each of the tracked balloons in both camera images. After detection, using their estimated 2D image position, it calculates their 3D world position. Once the system has calculated the positions, it sends them using the OSC protocol to a named IP address and port. The system is expected to be robust enough to work in different kinds of conditions that may occur during the live concert, such as fogginess and dynamic lighting. The system is made in C++ using the well-known computer vision library OpenCV. To see more, please visit https://goo.gl/eKXAJn.

Detection and Tracking of Players in Soccer Game Video

https://github.com/dkarlo2/PlayerDetectionTracking
The focus of this project is developing a system for detection and tracking of players in video recordings of football matches using computer vision techniques. The system is built to work on recordings that were filmed with a stationary camera, but there are also some useful approaches that would work well with a moving camera described. The three main parts of the project are field detection, player detection, and player tracking, among which the success of each one of them depends on the gain achieved by the ones previously listed. While building the system, there were many math and computer science algorithms and procedures used, such as particle and Kalman filters, k-d trees, an algorithm to find minimal edge cover in weighted graph, Hough transform, and k-means clustering. The system is built in C++ using OpenCV.

System for Pool Game Analysis

https://github.com/dkarlo2/PoolGameAnalysis
This project focuses on the development of a system for the pool game analysis. The analysis is carried out in two stages. At the beginning, a picture of a certain billiards situation is given to the system. The first stage is an image processing stage, in which a detection of pool game elements is carried out using OpenCV library. Pool game elements are playing surface and balls. The playing surface is detected as a rectangle defined by four lines. Balls are detected in two ways: as circles and as contours inside the playing surface. After they are detected, each ball goes through a recognizing stage. The recognizing stage uses certain parameters calculated from the ball picture and matches them to a base of previously recognized balls. After the image processing stage, the detected situation is ready to be analyzed. The situation is being displayed to the user as a 3D model of a table and balls. The user firstly chooses one ball and then one pocket in which he wants to pot the chosen ball. The system then using mathematics and relying on the pool game physics picks a set of shots that lead to the chosen pot. The user then selects one of the offered shots and then the system conducts a simulation of that shot in real time.

Mozgalo Competition - 4th Place

Mozgalo is the first and the only Croatian competition for students in data mining and big data.

Through their solutions, students gather useful knowledge and information among big amounts of structured and unstructured data. They use different statistical techniques, machine learning, and computer vision algorithms. One of Mozgalo’s primary goals is to encourage students to do analytical thinking and prediction modeling to independently develop their own creative solutions to real problems using their knowledge of computer science, statistics, and mathematics. In addition to that, students develop their communication and business skills, teamwork, and connections with companies from the IT and bank sectors. During the competition, educational workshops are being held and competitors are offered mentorship and online educational content. The competition is open to all students, in teams of 2 to 4 people.

Chatbot App

Chatbot web application used as a helpful assistant for a charity organization. The app was previously developed in Python, suited for local use only. My task was to adapt it for a web application and deploy it to make it available for clients. I used Python and HTML/JavaScript to prepare the app for web deployment. I used Amazon Elastic Container Service (Amazon ECS), Amazon S3 (AWS S3), and Amazon CloudFront CDN for the deployment.

Education

2014 - 2016

Master's Degree in Computer Science

Faculty of Electrical Engineering and Computing - Zagreb, Croatia

2011 - 2014

Bachelor's Degree in Computer Science

Faculty of Electrical Engineering and Computing - Zagreb, Croatia

Certifications

MARCH 2023 - MARCH 2026

AWS Certified Solutions Architect - Professional

Amazon Web Services

DECEMBER 2018 - PRESENT

Deep Learning Specialization

Coursera

Skills

Libraries/APIs

OpenCV, TensorFlow, Keras, REST APIs, PyTorch

Tools

Terraform, Vim Text Editor, Git, CMake, PyCharm

Languages

Python, C++, TypeScript, Bash, Groovy, Scala, Java, JavaScript, SQL, HTML

Paradigms

DevOps, Functional Programming

Platforms

Docker, Amazon Web Services (AWS), Linux, Kubernetes, Google Cloud Platform (GCP)

Frameworks

Flask, Electron, Selenium, Scrapy

Storage

MongoDB, PostgreSQL, Databases

Other

Computer Vision, Artificial Intelligence (AI), Algorithms, Software Architecture, Solution Architecture, AWS Certified Solution Architect, Architecture, Data Mining, Genetic Algorithms, Machine Learning, Mathematics, Deep Learning, Neural Networks, Simultaneous Localization & Mapping (SLAM), APIs, Web Scraping, Web Development, Image Processing, Image Recognition, SSH, Cryptography, Big Data, Data Analysis, Natural Language Processing (NLP), FTP, FastAPI, Optical Character Recognition (OCR), Generative Pre-trained Transformers (GPT), Scalability, Cloud Infrastructure

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring