- CEO and Owner2014 - PRESENTFuture Code, Ltd.
- Provided consultancy and development services to various clients.
- C++ and Signal Processing Developer2016 - 2017Umo Neuroscience
Technologies: C++, Qt
- 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++ Developer2016 - 2016SOUTH38 Group, Pty., Ltd. (via Toptal)
Technologies: C++, Qt, Exiv2
- 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 Architect2016 - 2016Cibecs (via Toptal)
Technologies: C++, Win32 API, Libcurl
- 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 Developer2015 - 2015Microel
Technologies: C, STM32F407, Keil RTX, NMEA, PA6H, LIS3DH
- 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++ Developer2015 - 2015Evolve Labs, LLC (via Toptal)
Technologies: C++, Win32 API, DirectX
- 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 Manager2013 - 2015Engage 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 Developer2013 - 2014Sagena
Technologies: C, eCos, lwIP
- 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 Lead2013 - 2014Faculty of Veterinary Medicine, University of Zagreb
Technologies: C, Bluetooth, USB, Keil, STM32F100, RFID
- 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 Associate2011 - 2014Faculty of Electrical Engineering and Computing
Technologies: C, C++, Python, MATLAB, Signal processing, Embedded systems
- 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 Leader2011 - 2013RIZ-Transmitters
Technologies: C++, Qt Framework, MS Project
- 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 Developer2011 - 2012Poliklinika Peharec
Technologies: C++, Qt, JSON, MATLAB, USB
- 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 Assistant2007 - 2011Faculty of Electrical Engineering and Computing
Technologies: Algorithms, Data structures
- 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 Developer2007 - 2009TI-SAN
Technologies: C, MSP430, RF, CC1101, C++, C#
- 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 Lead2007 - 2008Croatian Institute of Technology
Technologies: C, C++, 8051, USB, MySQL, DirectX
- 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 Developer2007 - 2008Croatian Institute of Technology
Technologies: C++, MATLAB, Signal analysis, Data compression
- 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 Lead2004 - 2007Telital Mobitel
Technologies: C, C++, Assembler, GSM, GPRS, DynDNS, Image analysis, Video compression, GPS
- 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 Developer2001 - 2007Self-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.