Sasa Mrvos
Verified Expert in Engineering
Software Developer
Zagreb, Croatia
Toptal member since September 25, 2013
Sasa is a top architect/developer with a background in desktop, embedded systems, servers, and industrial solutions. He loves challenges, and if there is a hard or seemingly impossible project, he just might like it. He enjoys working on signal processing, image processing, number crunching, compression, protocols, machine vision, compilers/parsers, and algorithms in general.
Portfolio
Experience
- C++ - 20 years
- C - 18 years
- Object-oriented Programming (OOP) - 17 years
- Standard Template Library (STL) - 17 years
- Qt - 15 years
- C# - 12 years
- Python - 10 years
- MATLAB - 8 years
Availability
Preferred Environment
C++, Qt Creator, Microsoft Visual Studio
The most amazing...
...system I've developed is the Intraoperative Monitoring System for EEG that evoked potentials with complex stimuli and signal analysis.
Work Experience
CEO and Owner
Future Code, Ltd.
- Provided consultancy and development services to various clients.
C++ Engineer
Rota Geek Limited
- Designed and optimized advanced genetic algorithm for optimizing scheduling and rostering rules and constraints from laws and trade union rules.
- Solved a lot of bugs inherited from the last team that made the application sporadically crash. That significantly improved the service availability and reduced the huge deployment costs.
- Made the solution cross-platform to work on all three major desktop platforms (Windows, Mac, Linux). That helped each team member develop on their preferred platform but also helped in finding bugs and solving bugs.
- Managed the cloud infrastructure that was quite complex, having parts of the solution deployed on Azure, AWS, CloudAMQP, etc.
- Implemented telemetry and internal tooling to help visualize the process in real-time and post-analysis. Previously the algorithm ran as a black box, producing no such information.
Senior C++ | GUI Developer
Ngrave.IO NV
- Created cross-platform UI application for interfacing hardware crypto wallet.
- Fixed bugs in AOSP source, in particular, in Fastboot for Mac.
- Worked as liaison between different teams in accomplishing common goals.
Senior Architect, Image Processing Expert, Desktop/Mobile Developer
Temptime
- Invented and developed a barcode library that is super fast and works under extreme conditions, like cylindrical distortions (when the barcode is placed on a vial).
- Created image processing algorithms for feature extraction from images (application-specific).
- Built Windows GUI application for testing and creating image processing algorithms, barcode generation and recognition, and automated tests, among others.
- Created Android application used in monitoring distribution of vaccines, from manufacturing to the point of use. SSO. Real-time image processing (camera). Interfacing via Bluetooth with external hardware. Integration with third-party applications.
- Oversaw development and launch of the web application (Angular, ASP.NET, EF, Azure).
C++ and Signal Processing Developer
Umo Neuroscience
- Developed for UMO, the state of the art EEG measuring and analysis system with promising potential in neurofeedback therapy.
- Built a prototype application for auto-detecting and communicating with EEG device, doing signal processing and frequency analysis on EEG with EEG and analysis visualization.
C++ Developer
SOUTH38 Group, Pty., Ltd. (via Toptal)
- Built a DSLR GPS application used for geotagging photos.
- Created a custom UI styled with Qt’s stylesheets.
- Worked with the EXIF standard.
- Built QR barcode recognition for photos.
- Built REST communication on top of Qt’s network module.
C++ Developer and Architect
Cibecs (via Toptal)
- Architected and built DiscoveryAgent, an application used for administering users and machines in a network.
- Enabled discovery of all machines and users that are present in a network.
- Detected hardware present on each machine.
- Detected installed software packets, security updates, and drivers.
- Detected user information (both workgroup and AD users).
- Calculated the user’s file profile (count and size for each file type, grouped by targeted folders).
- Enabled silent installation of additional software.
- Removed/updated previously installed software. The application, which is part of Cibecs’ backup solution used by large corporations, had to have a very small footprint.
Embedded Developer
Microel
- Created an anti-theft device.
- Ensured low power consumption - the device was battery powered.
- Based technology on STM32F407 microcontroller.
- Provided for selectable alarm levels depending on the movement.
- Added GPS location tracking.
C++ Developer
Evolve Labs, LLC (via Toptal)
- Worked on a “hooking” mechanism for Evolve Client 2, a very cool social gaming platform enabling communication with friends during gameplay, recording screenshots and videos from a game, and much much more.
- Disassembled a process (a game) loaded in memory.
- Implemented 32-bit and 64-bit hook and trampoline functions by modifying the machine code directly in memory.
- Solved 64-bit “FAR” jumps as well.
- Used hooks to intercept DirectX calls to grab the screen (screenshots/video), calculate the frame rate, draw custom overlays on top of the screen, etc.
Technical Lead and Project Manager
Engage To Sell, LLC (via Toptal)
- Led a team of 4-8 developers to build a communication platform used in-house by sales and tech support teams to manage customer info, track site visitors, generate leads, and more.
- Provided technical guidance.
- Architected the cloud-based server solution and built it with a team from the ground up.
- Built the client application for all major desktop platforms.
Embedded Developer
Sagena
- Developed a module that wirelessly (over WiFi) connects to the central alarm receiving server for a wireless nurse call system. The module repeatedly sends a keep-alive ping with battery indicator.
- Made the device efficient, powered by a single lithium battery.
- Enabled wireless network scanning, connection to the network and communication with the server, utilizing eCos and lwIP.
Embedded Developer and Team Lead
Faculty of Veterinary Medicine, University of Zagreb
- Created an animal tag RFID stick reader, used by vets for remote tag reading and identifying animals.
- Developed the firmware (STM32F100 family) that controlled the analog circuitry (RFID), LCD, battery charger and communication channels.
- Enabled Bluetooth communication with the mobile application.
- Configured and debugged the reader over USB.
External Associate
Faculty of Electrical Engineering and Computing
- Worked as technical tead on two projects.
- Built a wireless LAN solution for a nurse calling system.
- Developed a system for intraoperative monitoring of biomedical signals, EEG, and evoked potentials, with advanced stimulation module.
- Provided mentorship and guidance to students through their bachelor's/master's courses.
Software Architect/Team Leader
RIZ-Transmitters
- Developed a new line of DRM broadcasting systems (DRM Content Server, DRM Monitor, Data Services, front-end for Transmitter Control System).
Software and Signal Processing Developer
Poliklinika Peharec
- Contributed to the invention of a biomechanical scale for dynamic human body posture analysis.
- Developed signal processing and data visualization modules.
- Developed a compression algorithm for measured signals.
- Developed a custom database for medical records with import/export features.
Research and Teaching Assistant
Faculty of Electrical Engineering and Computing
- Mentored students on their bachelor's and master's courses.
- Assisted for two courses: Biomedical Informatics and Algorithms and Data Structures.
- Conducted research and development on projects including stereovision systems, passive stereo algorithms, and their efficient implementations; image compression and feature extraction; global optimization methods; and dynamic programming.
- Created biomedical signal processing and stress estimation from electrophysiological signals, T-wave alternans analysis, heart rate variability analysis, EEG analysis and evoked potentials as well as automatic meter readings, wireless sensor networks, and WLAN networking.
Embedded Developer
TI-SAN
- Collaborated to develop a system for automatic wireless meter reading (water meters and gas meters).
- Architected and developed modules that can communicate efficiently over a custom RF protocol in ISM band. Wake-On-Radio function is used to ensure ultra-low power; one lithium battery ensures autonomy of 10+ years. Modules are transceivers, and are used both in the handheld device that gathers measurements and standalone for meter reading. The system has a long range and can even read modules placed inside manholes (typical scenario for water meters).
Team/Technical Lead
Croatian Institute of Technology
- Led a team of developers and students working on a Polygraph (Lie Detector).
- Architected a full solution for the polygraph.
- Built software for conducting psychophysiological lie detection .
- Developed image processing for detecting changes in pupil diameter.
- Created an EEG/Evoked Potentials algorithm for detecting P300 wave.
- Programmed analysis for ECG, HR-variability, blood pressure, pupil diameter, P300 and respiratory signals.
- Developed a polygraph based around Silicon Labs’ 8051 microcontroller.
- Implemented USB communication with PC.
Software and Signal Processing Developer
Croatian Institute of Technology
- Created 12-channel ECG Holter for T-Wave Alternans analysis.
- Developed signal processing and noise-cancellation algorithms that enabled measuting T-Wave Alternans from Holter recordings.
- Developed software for managing medical records (database), ECG, and data visualization.
Developer and Technical Lead
Telital Mobitel
- Developed firmware and PC software for Telmoss Surveillance System.
- Created an Atmel AT91-based (ARM) system.
- Developed custom wavelet-based image/video compression that worked in real-time on ARM microcontrollers of that era.
- Facilitated GSM, modem, and GPRS communication with client applications.
- Developed a motion detection algorithm - invariant to changes in light (day/night/lights on/off).
Architect/Lead Developer
Self-employed
- Worked on many research and industrial projects in collaboration with various institutions.
- Developed image compression, implementation on dedicated hardware, motion detection, and marker tracking.
- Created biomedical signal processing and precise QRS detection in high noise environment.
- Developed a real-time operating system.
- Built data visualizations using MS DirectX.
- Worked with USB, serial, GSM, and GPRS communication.
Experience
Portable polygraph - Lie detector
Ultra low power wireless sensor network prototype
Comprehensive Intraoperative Monitoring System
Education
Master Degree in Computer Sciences
Faculty of Electrical Engineering and Computing, University of Zagreb - Zagreb, Croatia
Skills
Libraries/APIs
Win32 API, Standard Template Library (STL), Windows Forms (WinForms), Windows API, WinAPI, REST APIs, Microsoft Foundation Classes (MFC), Microsoft Foundation Class (MFC) Library, Libcurl, Lwip, OpenCV, DirectX, Asyncio, Pandas, AMQP, Qwt
Tools
Qt Creator, Microsoft Visual Studio, GitLab, GitHub, Makefile, Qmake, Windows Installer, Keil, Git, MATLAB, Subversion (SVN), Microsoft Project, Microsoft Excel, Trello, Google Docs, STM32F100, cURL Command Line Tool, RabbitMQ
Languages
Delphi, C#, Assembler, C++, C, Python, Java, C++17, C++98, Embedded C++, JavaScript, Assembler x86, Object Pascal, SQL, XML, Bash, Python 3, C#.NET, Objective-C, ARM Assembler
Frameworks
Qt, .NET, Boost, Windows Presentation Foundation (WPF), Windows PowerShell, Swing
Paradigms
Object-oriented Programming (OOP), Design Patterns, Test-driven Development (TDD), Windows App Development, Gang of Four (GOF) Design Patterns, Refactoring, Desktop App Development, Automated Testing, Radio Frequency (RF) Protocol, Real-time Systems, Azure DevOps
Platforms
MacOS, STM32, Arduino, AVR (8-bit MCU), Windows, Linux, Android, Windows Desktop, Win32, Windows UI, Mobile, Azure, Kernel, OS X, Kubernetes, Amazon Web Services (AWS)
Storage
MySQL, JSON, SQLite
Other
I2C, Serial Peripheral Interface (SPI), Communication, USB, Machine Language, MSP430, STM32F4, Image Processing, Signal Processing, SOLID Principles, Graphical User Interface (GUI), Architecture, Medical Devices, Concurrency, Memory Management, Background Threading, APIs, DLL, Embedded Systems, Bluetooth, ARM Embedded, AT Commands, Machine Vision, Data Compression, Networking, Single Sign-on (SSO), Mathematics, Team Management, Genetic Algorithms, Data Science, Back-end, Digital Signal Processing, DSP, MCU, Authentication, Hardware, Industrial Equipment, Industrial IT, Semiconductors, Trading, Algorithms, Data Structures, NMEA, PA6H, LIS3DH, CC1101 Transceiver, Exif, Signal Analysis, Intel MCS-51 (8051), GSM, GPRS, Image Analysis, Video Compression, GPS, RFID, AOSP, Barcode Library, Image Recognition, Image Registration, Machine Learning, Azure Portals, CAN Bus
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