Tomislav Peharda
Verified Expert in Engineering
Message Queues Developer
The two great loves of Tomislav's life are research and tech, which is why he particularly relishes facing new challenges—he gets to deep dive into both when formulating the perfect solution. He's experienced in various areas of computer science to provide quality solutions in web (his primary focus) and desktop app development, as well as penetration testing, reverse engineering, machine learning, and algorithmic problems.
Portfolio
Experience
Availability
Preferred Environment
Visual Studio Code (VS Code)
The most amazing...
...app I have built is a Google maps-like geospatial viewer of San Francisco in 2D and 3D, which enables a high level of interactivity for labeling purposes.
Work Experience
Machine Learning Engineer
Morgan & Morgan
- Led efforts in setting up scalable processing pipelines for the construction of ML training datasets.
- Analyzed datasets to identify patterns for curating ML model training processes.
- Developed a deep learning-based regression model to predict the legal matter's dollar value.
- Worked on a tool to find similar legal matters to the anchor matter.
Senior Software Engineer
Volvo R&D Center - Main
- Worked on an online booking service that matches clients with the ideal dealership.
- Optimized various workflows in the booking service to enable more performant operations.
- Integrated booking tooling with various US and European markets required working with third-party APIs.
Senior Software Engineer
HiredScore
- Developed a Nest.js-based framework that abstracts complex concepts of the technology making it easy to start up and configure an HTTP server.
- Assisted in migrating existing Python-based microservices to Node.js technology using a developed framework.
- Collaborated with the internal team on collecting requirements, designing architecture, and leading the onboarding of teams.
- Contributed to writing thorough documentation as well as the introduction of a test environment that tests the framework interfaces.
Senior Full-stack Software Engineer
Labelbox
- Led initial efforts in designing and implementing a machine learning model analysis tool, giving users insight into what they can do to improve their models.
- Worked on a data analysis tool to support users in filtering a large amount of data (millions of records) by various criteria.
- Contributed to data pipelines to import large labels into the system for labeling purposes.
- Created various asynchronous task processors to optimize data throughput in the corresponding services.
- Collaborated on previewing GeoJSON labels on top of different data types.
- Worked on similarity search functionality that works with billions of assets.
Full-stack Software Engineer
Leading Autonomous Vehicle Company
- Worked on a 2D satellite view to enable tools for labeling geospatial data that enabled autonomous vehicles to navigate safely through space.
- Created various labeling tools to support different feature use cases (lanes, crossroads, etc.).
- Worked on a 3D view to enable labeling tools for traffic lights and traffic signs, as altitude is significant for these features. The autonomous vehicle can expect where the traffic light or traffic sign should be in space.
- Collaborated on developing the labeling workflows to accommodate the labeling team with all the necessary functionalities to produce quality geospatial labels.
- Worked on a tool to track the autonomous vehicle ride metrics to enable insights into the quality of each ride (number of hard-breaking events, number of driver interventions, etc.).
Senior Software Engineer
Simplifeye
- Developed a web application that integrates with desktop dental management systems offering their functionalities online.
- Led a team of five people responsible for integrating patient details, like procedures, personal data, etc., with payments.
- Worked on introducing an SSO system that connected several applications under the same authentication protocols.
- Optimized data sync flows by introducing reactive clearing and caching systems, proper throttling mechanisms, and priority queues.
Full-stack Web Developer
GR DIGITAL
- Developed several game plugins and web applications that use React.js (Redux) and Vue.js (Vuex, Nuxt) on the front end and Node.js on the back end.
- Built a game add-on in Lua that extends a game plugin functionality.
- Developed extensions in C# to increase performance and override JavaScript limitations on a platform on top of which game plugins are built.
- Constructed web applications in PHP (WordPress, WooCommerce, and Visual Composer).
- Styled several web applications in HTML, CSS, and Sass (styled components) that also included patterns of templating.
- Developed functional programming, ES6 (Babel), Webpack, Flow, Linters, NPM, and more.
- Configured and administered server (Unix), setting up the deployment process (Naught and PM2).
Web Developer
Xfire
- Coded a universal PHP-based algorithm that would report a game match stats to a tournament platform (Xfire) once a corresponding match has been found/finished based on a user's game ID.
- Supported a number of games with the above algorithm including Heroes of Newerth (HoN), SMITE, StarCraft II: Wings of Liberty (SC2), World of Tanks (WoT), and League of Legends (LoL).
- Developed a CSGO match supervisor/watcher which would report detailed match stats including a player kills, deaths, assists and so on to the Xfire tournament platform in real time.
- Implemented a Java-based match supervisor/watcher which also took care of the warm-up/ready-up period, time-outs, disallowing unwanted players, and more.
Experience
Highly Scalable Similarity Search
The challenge was creating a tool to manage vast data while providing accurate search results efficiently.
Leveraging my skills in Node.js, Machine Learning, GraphQL, and Elasticsearch, I contributed to the design of this semantic search tool. I utilized lightweight technologies, ML algorithms, and search optimization algorithms to ensure the tool could handle the data load and provide accurate results.
This tool has significantly improved data querying speed and accuracy, providing users a more streamlined and effective way to find similar data points.
Microservice to Support Structured and Unstructured Assets
Our primary objective was to design a system capable of handling high-volume data efficiently. We aimed to minimize processing time while maximizing search speed and flexibility in data querying.
The impact of our efforts was significant, resulting in a scalable, performant service capable of efficiently processing and storing billions of assets. This increased data availability and introduced new ways of querying data, significantly improving search capabilities.
Framework for Quick Bootstrap of Node.js Microservices
The challenge was in the migration and creation of a simplified yet robust Node.js architecture from existing Python microservices without disrupting the client's operations. The company had a framework for bootstrapping Python applications and wanted a framework similar to Node.js.
I led the development of a Nest.js-based framework that simplified the complexities of the Nest.js framework. The client has successfully migrated a couple of their Python microservices to Node.js using the developed framework.
Finding Similar Legal Matters via AI
The project aimed to simplify the complex and time-consuming process of case comparison to better predict the potential outcomes of ongoing legal matters.
In this project, my team and I developed innovative weighting logic for each case component. I utilized AI, Python, Machine Learning, and TensorFlow skills to employ cosine similarity techniques for case identification.
Introducing this AI-based system significantly improved the efficiency and accuracy of legal case analysis. This not only streamlined the law firm's operations but also enhanced the decision-making process for attorneys, leading to a profound positive impact on the firm's overall workflow.
Plugins & Modifications for Gameplay
As a full-stack developer, I leveraged my skills in reverse engineering, data visualization, Lua, Redux, Docker, React, Node.js, and JavaScript to develop custom plugins and modifications that improved the player game experience.
This project significantly enhanced the overall gaming experience, leading to increased user engagement and satisfaction. The additional information provided by the plugins and modifications allowed users to get more out of their gaming experience.
AI-powered Pitch Deck Builder
The main challenge was that user responses often lacked the necessary quality and adherence to industry standards, which led to ineffective pitch decks.
As a deep learning engineer, I utilized my Python, AI, machine learning, NLP, GPT/OpenAI, and data modeling skills. I contributed to developing AI features that validated user inputs, provided constructive feedback, generated improved examples, and educated users on why these examples were superior.
The result was a significant enhancement in the quality of user responses, leading to more effective and industry-compliant pitch decks, which, in turn, helped users secure more funding opportunities.
Autonomous Vehicle Rides Metrics Dashboard
The key challenge was to create a comprehensive system that would effectively analyze and present ride data to identify improvement areas.
This dashboard not only eased the data interpretation process but also provided valuable feedback, leading to significant improvements in the autonomous vehicles' performance.
ML Model Analysis Tooling
I developed a solution by using my skills in Artificial Intelligence (AI), Node.js, React, GraphQL, Systems Architecture, and PostgreSQL. I led the project, conceptualizing and executing the development of a tool to analyze ML models by assessing datasets.
The tool helped numerous enterprise consumers analyze their ML models, enhancing performance more efficiently. This included the application of different software engineering and ML engineering algorithms (such as TSNe, similarity search, etc.) to gain insights into the dataset.
Prediction of Legal Matter $ Value
The main challenge was to quantify the potential value of a legal matter, a task traditionally dependent on subjective human judgment.
I used my Python, AI, machine learning, NLP, data pipelines, and data analysis skills to create and test various traditional machine learning and deep learning algorithms. The goal was to design a system capable of making accurate predictions based on historical and contextual data.
The result of this ongoing project is a sophisticated predictive tool that reduces uncertainty and enables more informed decision-making in the realm of legal affairs.
Application for Providing Better Financial Security
Investors Social Network
Improving Data Quality by Curating Search
The client had a vast amount of video media data, along with various metadata that had been reviewed over time. The challenge was figuring out how to use this data to enhance the quality of to-be-reviewed video content.
As a data scientist, I employed various skills to analyze the dataset. This analysis aimed to help the company better target what video content to focus on.
By leveraging AI and machine learning, the client could now prioritize their video content based on the insights derived from the data analysis, thus leading to an improvement in their overall video content quality.
Online Software for Dental Practices
https://simplifeye.co/Children Content Recommender
Going further, YouTube would return relevant videos and channels based on the search query. However, the results might contain outliers; thus, the second part of the pipeline was to verify the quality of the returned analysis, which included the analysis of metadata through NLP techniques.
FOI AI Lab
Tool to Build Internal Applications
https://www.superblocks.com/Analytics Tool for Measuring Adequate Audience for Medicine Trials
https://clariness.com/Intrusion Detection System (Machine Learning)
The model is developed in TensorFlow, and it utilizes a Random Forest concept to minimize the number of attributes needed for the computation. It is based on the KDD1999 dataset. Different methods, utilities, and metrics have been used to examine the dataset and provide the most accurate solution.
In my thesis paper, I've used various data science approaches to examine the quality and diversity of the KDD1999 dataset. I also have shown how different neural network configurations (number of layers, number of neurons, activation function, regularization, and so on) impact output precision.
Technologies: Pandas, NumPy, Python, TensorFlow (Keras API), Random Forest
Freelance Projects
Law Firm
The purpose of this web application (which also worked on a phone) was to enable the law firm to schedule and track appointments. Each appointment would have a detailed history of events. A user was also able to set notifications for each appointment.
Logistics Company
This web application was used to track drivers, trucks, trailers, destinations, and the like, however, the primary focus of the app was to have a weekly preview of an each user's schedule on a dashboard that is also highly interactive thus simplified the process of creating weekly schedules at the organizational level.
Gym
For this client, I built a web app that was meant to be used to track each user's subscriptions. A gym would have an RFID reader at the entrance requiring each user to scan their subscription card. That way, the owner would, in real-time, have access to the number of users at the gym — seeing whether any of them has not yet paid their subscription or such. The application also implemented various analytics previews.
Technologies: PHP, HTML, CSS, JavaScript, MySQL, jQuery, Bootstrap
Reverse-engineering Games
Some of the main activities in the process are: analyzing and finding proper memory addresses, examining the Assembly code and making changes that would affect the game behavior, developing modifications that override memory locations and also invoke game functions in order to achieve the desired functionality, bypassing basic security mechanisms (some games would detect if the memory location value gets changed externally, other security mechanisms include updating multiple memory locations with the same value).
zPAM and ServerBot for CoD2
ServerBot was a functionality (or even a protocol) within the modification to enable a web application to listen to the server events in real-time and then preview them. The web application that I've built to make use of ServerBot was able to listen to 5 game servers simultaneously with ability to preview the events in real-time or with a delay.
Mobile Games and Applications
I've worked on a multiplayer (peer-to-peer) game that utilized match-making system support through a central server to enable players to find an opponent automatically (also, the central server was used to store a user's stats). Once an opponent has been found, the communication between users no longer went through the central server but sockets (peer-to-peer connection). TCP hole-punching was used for players to establish a connection.
Technologies: Java, Corona SDK, Lua, Hole Punching, MySQL, SQLite
JavaScript Components for a Market
The other two components I've worked on were a 3D item slider and a carousel. The focus of the 3D slider was on shopping items—the items would be rotating (in different manners) and on a click, information for the selected item would be shown (a user could define information themselves). The carousel had similar use-case as the 3D item slider, however, the entity of a focus was not shopping items but rather images (therefore, usage, animations provided and implementation were fairly different from the 3D item slider).
Technologies: JavaScript, jQuery, HTML, CSS, WordPress, JSON
Skills
Languages
JavaScript, HTML, CSS, Sass, ECMAScript (ES6), TypeScript, Java, C#, C++, PHP, GraphQL, Python, Go, Assembly, Lua, C#.NET, C, Snowflake
Frameworks
Express.js, NestJS, Swagger, Spring Boot, Bootstrap, JSF, OAuth 2, Jest, Redux
Libraries/APIs
REST APIs, React, Vue, Node.js, jQuery, jQuery UI, Three.js, WebGL, Sockets, RxJS, Slack API, TensorFlow, Socket.IO, Passport.js, Scikit-learn
Tools
Slack, Git, Sony Vegas, Adobe After Effects, Adobe Photoshop, Flow, Webpack, GIS, Visual Studio
Paradigms
Functional Programming, Penetration Testing, Agile, REST, Test-driven Development (TDD), Unit Testing, E2E Testing, Scrum, Testing, Agent-based Modeling, Good Clinical Practice (GCP), ETL
Platforms
Mapbox, Amazon Web Services (AWS), Unix, Docker, WordPress, Android, Google Cloud Platform (GCP), Visual Studio Code (VS Code), Azure
Storage
MySQL, MongoDB, PostgreSQL, PostGIS, SQLite, Elasticsearch, BigTable, Data Pipelines, Redis
Other
Algorithms, APIs, GitKraken, Reverse Engineering, System Administration, Discord Bots, Machine Learning, Message Bus, Message Queues, Data Structures, Mobile Apps, Planning, Deep Learning, Augmented Reality (AR), Multi-agent Systems, Statistics, Research, SDKs, Neural Networks, Natural Language Processing (NLP), Streaming, Artificial Intelligence (AI), GPT, Generative Pre-trained Transformers (GPT), Large Language Models (LLMs), Data Processing
Education
PhD in Information Science
University of Zagreb, Faculty of Organization and Informatics - Varaždin, Croatia
Master's Degree in Information and Software Engineering
University of Zagreb, Faculty of Organization and Informatics - Varaždin, Croatia
Bachelor's Degree in Information Systems
University of Zagreb, Faculty of Organization and Informatics - Varaždin, Croatia
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring