Sasa Mrvos, Software Developer in Zagreb, Croatia
Sasa Mrvos

Software Developer in Zagreb, Croatia

Member since August 15, 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.
Sasa is now available for hire

Portfolio

Experience

  • C 18 years
  • Object-oriented Programming (OOP) 17 years
  • C++ 17 years
  • Standard Template Library (STL) 17 years
  • Qt 9 years
  • MATLAB 8 years
  • C# 8 years
  • Python 7 years

Location

Zagreb, Croatia

Availability

Part-time

Preferred Environment

C++, Qt Creator, Microsoft Visual Studio

The most amazing...

...system I've developed is the Intraoperative Monitoring System for EEG and evoked potentials with complex stimuli and signal analysis.

Employment

  • CEO and Owner

    2014 - PRESENT
    Future Code, Ltd.
    • Provided consultancy and development services to various clients.
    Technologies: C, C++, Python, JavaScript, Excel, Trello
  • C++ and Signal Processing Developer

    2016 - 2017
    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.
    Technologies: C++, Qt
  • C++ Developer

    2016 - 2016
    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.
    Technologies: C++, Qt, Exiv2
  • C++ Developer and Architect

    2016 - 2016
    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.
    Technologies: C++, Win32 API, Libcurl
  • Embedded Developer

    2015 - 2015
    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.
    Technologies: C, STM32F407, Keil RTX, NMEA, PA6H, LIS3DH
  • C++ Developer

    2015 - 2015
    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.
    Technologies: C++, Win32 API, DirectX
  • Technical Lead and Project Manager

    2013 - 2015
    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.
    Technologies: C++, Qt, JavaScript, MySQL, Trello, Google Docs
  • Embedded Developer

    2013 - 2014
    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.
    Technologies: C, eCos, lwIP
  • Embedded Developer and Team Lead

    2013 - 2014
    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.
    Technologies: C, Bluetooth, USB, Keil, STM32F100, RFID
  • External Associate

    2011 - 2014
    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.
    Technologies: Embedded Systems, Signal Processing, MATLAB, Python, C++, C
  • Software Architect/Team Leader

    2011 - 2013
    RIZ-Transmitters
    • Developed a new line of DRM broadcasting systems (DRM Content Server, DRM Monitor, Data Services, front-end for Transmitter Control System).
    Technologies: C++, Qt Framework, MS Project
  • Software and Signal Processing Developer

    2011 - 2012
    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.
    Technologies: C++, Qt, JSON, MATLAB, USB
  • Research and Teaching Assistant

    2007 - 2011
    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.
    Technologies: Data Structures, Algorithms
  • Embedded Developer

    2007 - 2009
    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).
    Technologies: C, MSP430, RF, CC1101, C++, C#
  • Team/Technical Lead

    2007 - 2008
    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.
    Technologies: C, C++, 8051, USB, MySQL, DirectX
  • Software and Signal Processing Developer

    2007 - 2008
    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.
    Technologies: C++, MATLAB, Signal analysis, Data compression
  • Developer and Technical Lead

    2004 - 2007
    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).
    Technologies: C, C++, Assembler, GSM, GPRS, DynDNS, Image analysis, Video compression, GPS
  • Architect/Lead Developer

    2001 - 2007
    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.
    Technologies: DirectX

Experience

  • Portable polygraph - Lie detector (Development)

    I was a leader of the Croatian Technology Institute R&D Team responsible for the construction and design of a sophisticated, portable polygraph.

  • Ultra low power wireless sensor network prototype (Development)

    Development of system for Automatic Meter Reading (RF sensor network, Reader, Database + Enterprise Application). Sensor modules have battery autonomy of 15 years, have IP68 protection, and can be wirelessly configured and assigned with database.

  • Comprehensive Intraoperative Monitoring System (Development)

    I worked in a team of ten developers as architect and developer on EEG and evoked potentials measurement system. I was in charge of hardware abstraction layer, communication layer, signal processing layer and data/signal visualization layer.

Skills

  • Languages

    Assembler, C++, C, JavaScript, Assembler x86, Delphi, Object Pascal, C#, SQL, Python, XML, ARM Assembler, Java
  • Frameworks

    Qt, .NET, Boost
  • Libraries/APIs

    Standard Template Library (STL), Libcurl, Win32 API, Lwip, OpenCV, DirectX
  • Tools

    Qt Creator, Microsoft Visual Studio, Keil, Git, MATLAB, Subversion (SVN), cURL Command Line Tool
  • Paradigms

    Object-oriented Programming (OOP), SOLID Principles, Design Patterns, Test-driven Development (TDD), Real-time Systems
  • Platforms

    STM32, Arduino, AVR (8-bit MCU), Windows, MacOS, Linux
  • Other

    I2C, Serial Peripheral Interface (SPI), Communication, USB, Machine Language, MSP430, STM32F4, Image Processing, Signal Processing, Bluetooth, ARM Embedded, AT Commands, Machine Vision, Data Compression, Embedded Systems, Algorithms, Data Structures, RFID
  • Storage

    MySQL, SQLite

Education

  • Master degree in Computer Sciences
    2002 - 2007
    Faculty of Electrical Engineering and Computing, University of Zagreb - Zagreb, Croatia

To view more profiles

Join Toptal
Share it with others