Machine Learning (Development)
Personal project: I took a period off of work to update my skillset related to machine learning tools, libraries, languages and state-of-the-art techniques and architectures. I completed numerous online courses, applied machine learning to various public datasets, Kaggle competitions, and personal projects, and I gathered a strong, practical set of skills applicable to image analysis, natural language processing, time series analysis and general data pattern detection, classification, and regression problems with emphasis on deep learning applications, particularly in computer vision:
- Implementation of custom CNNs or usage of state of the art pre-trained models (VGG, ResNet, Inception...) fine-tuned for specific task
- Image classification, semantic, or instance-based pixel level image segmentation (U-Net)
- Object detection (YOLO and similar architectures)
- Time series analysis using CNN and LSTM models
- NLP applications using deep learning: usage of word embeddings in CNN or bdLSTM deep learning models for text classification or feature extraction
- ONNX model transfer and inference, implementation of multi-platform apps/tools in C++ using Qt (GUI) featuring embedded ML models & inference using MXNet and Caffe2.
Balyasny Asset Management Trading Tools (Development)
I worked on a range of tools supporting financial data analysis, system integration/interfacing, and trade execution for a large US hedge fund:
- Complex "short locate" system supporting manual and automatic/batch requests to various asset providers using different APIs and allocation into/management of a company asset pool; implemented background service, internal API, command line, and desktop apps used by firm traders for asset management and short selling
- System for automated portfolio manager payout calculation based on manager-specific, time-variable contract terms, trading performance, risk, and other parameters using a custom web based Excel-like expression/formula multi-table engine (built custom expression compiler supporting C#-like syntax for grid cell formula)
- Libraries and command line tools for price and volatility import from various sources (specific text/binary and FIX protocols)
- Various GUI (desktop and web) utilities for data display and entry including dynamic forms with configurable (XML) input fields and validation rules, supporting efficient async data refreshing through messaging (RabbitMQ)
Zugata Outlook Add-in (Development)
Implemented Outlook add-in for Zugata Inc. featuring team and project management features which replicate the functionality of the client's existing website (the main product) completely within Outlook: flexible team member searching, monitoring of team and personal goals, progress statuses, viewing and editing work reviews, and notes on team members.
All data is stored in the cloud and synchronized across multiple platforms (web app, mobile app, Outlook add-in). Built using C#, WPF and VSTO, the add-in maintains a specific client's UX/UI across all platforms, using a web API (JSON) for all data operations. The product includes extensive telemetry support using Google Analytics (measurement protocol). Authentication methods include single sign-on using Google OAuth or SAML.
Technology: C#, WPF, VSTO, REST, SAML, OAuth, Sentry, Google Measurement Protocol.
Slant Range Cloud (Development)
I implemented an Azure cloud-based system for storage and processing of aerial imagery (a large number of multi-band, spatially referenced images created by a fleet of drones) and related metadata (combination of SQL and raw/unstructured cloud storage), featuring an advanced query engine combining metadata and spatial parameters, internal API for system usage, and a WPF desktop application with complex forms for metadata entry and querying; the system efficiently handles storage, processing, and access to virtually unlimited number of high-resolution raw and processed images accessible by the client and their customers.
Technology: C#, .NET, WPF, Azure SQL Server, Azure Tables, Azure Blobs, spatial SQL extensions, micro ORM
T3rra Design (Development)
Implemented T3rra Design and TerraCutta, custom desktop and tablet CAD/GIS applications for the design and planning of land forming operations, featuring:
- Advanced 2D and 3D terrain visualization with dynamic texture and vector overlays
- Widgets for surface analysis: color maps of surface differences, depressions and wetting fronts, earth works statistics, real-time water flow simulations, terrain profiles/"cut" views, and interactive 3D surface design tools
- Flexible vector polygon editing for definition of work areas
- Complex undo/redo system with scripting support, allowing the creation of "batch" operations
- Mapping support with overlays containing labels, elevation points, contours, slope indicators, water flow paths, print preview, PDF generation, export/import support for ESRI and KML spatial formats
The system consists of desktop app for planning terrain operations and separate tablet/in-cabin app (with simpler, robust UI) which interfaces with John Deere iGrade tractor systems and performs semi-automatic land forming based on GPS data and desired terrain configuration defined in desktop app.
Technology: C#, .NET, WPF, 2D and 3D graphics, KML, ESRI data formats, Trello/Kanban
MyDeposits Scotland (Development)
For Hamilton Fraser Insurance, I worked as a member of a team on a complex website for online management of tenancy deposits (used by landlords, tenants and agencies), supporting online payments, property data management, dispute resolution, complex reporting, import of property and tenancy data from external systems, complex queries, administrative tasks, and payment detection through parsing of daily banking reports using specific banking formats.
I was responsible for the ETL module (tenancy/property data import using background service with notification dispatching), the real estate/property management parts of the website, the banking interfaces, and internal funds management web pages.
Technology: C#, .NET, ASP.NET MVC, HTML, CSS, jQuery, Entity, SQL Server, Agile/Scrum
This is a family of subscription-based websites I implemented for VB/Research, providing vertical market information on companies, deals, transactions, and general market news targeting clean energy, security, and military sectors.
I implemented the background persistence and query engine (SQL Server/NHibernate), the website front-end (with advanced AJAX interactivity, extensive full-text searching, filtering, and reporting capabilities), functionality for internal administration of the website (custom CMS for user management and data entry used by a network of journalists and analysts), and a standalone service for dispatching emails with periodic news search results based on user-specific query configurations (websites currently are live at www.cleanenergypipeline.com and www.vbresearch.com/GlobalSecurityFinance).
Technology: C#, .NET, ASP.NET, SQL Server, NHibernate, Lucene, XML, AJAX, Subversion
LabTech/CMS System (Development)
I worked for Control Escape, Ltd. on the implementation of an extension/plugin for LabTech (a commercial remote monitoring and administration software system for IT support companies).
The extension supports integration with the existing CRM system and adds document and project management features (including functionality for document storage in a centralized database with support for tagging, multi-user versioning, a template system for fast production of DOC and PDF quote documents, automatic invoicing based on tickets/timeslips generated by timer system, an equipment stock/asset management system, client management, and project tracking).
Functionality is accessible from within the LabTech system or from a simpler stand-alone desktop application used by administration staff.
Technology: C#, .NET, MySQL, LabTech API, PetaPoco, WinForms, Subversion
I implemented C# .NET API for programmatic access to MetaTrader FOREX broker platform using .NET language(s) and easy interfacing/data transfer to external systems to allow easy and flexible development of complex automatic and manual trading strategies and access to historical price data. The system was implemented to overcome limitations of MetaTrader's scripting system and allow more complex analysis and strategy development (Intermarket trading systems based on advanced statistical modeling), testing and monitoring, leveraging.NET's flexibility and interfacing with external systems ('R' statistical package).
The system also allows highly optimized data processing (multithreading and multiprocessing using named pipes) supporting daily/weekly parallel analysis of a large number of virtual instruments ("basket" systems) and includes a custom charting engine supporting huge data sets. The system is currently in use internally for company fund management/active trading of currencies and stock indices.
Technology: MetaTrader 4, C#, .NET, LINQ to SQL, SQL Server, WinForms, R
KickData Backup System (Development)
This is a backup system that I implemented for Control Escape, Ltd. as an alternative backup for the Microsoft Exchange Server. It supports full incremental item level backup of emails, contacts, calendar data, etc. using EWS API. The system works as a "cloud"/client-server system with a custom desktop backup browser application similar to MS Outlook, allowing easy and fast access to remote backup archive, searching using a range of parameters (including full text search), access to item's history and restoration or extraction of deleted and/or modified items back into the Exchange Server.
Technology: C#, .NET, WCF, SQLite, Exchange Server/EWS API, Subversion
GR Asset Management (Development)
I implemented this desktop Windows application for Gordon Ramsey Holdings. It is used for culinary asset and contact management, supporting managing data on clients, suppliers, sites, assets, and report generation. It features a simple and robust UI that allows searching and data entry in hectic environments. This application replaced an old, legacy application that was slow and unreliable.
Technology: C#, .NET, WinForms, SQL Server Express, LINQ to SQL, HTML (reports), Subversion
ETF Tools (Development)
I worked for Morning Star Capital, Inc., and Fundamental Data, Ltd. on a range of utilities and web services used internally for maintenance of large databases containing information on a wide range of global investment funds (data accessible as commercial, subscription based service). I implemented flexible, XML configurable filtering system in the form of a command line utility for complex data queries, reporting, data conversion, and system checks.
Technology: C#, .NET, Sybase Advantage Server, XML, Subversion
LBSE People (Development)
I worked on an LBSE People project for BH Telecom, a commercial telecom system in Bosnia and Herzegovina providing locating and messaging services to subscribers. The project is an AJAX web application with a complex map based interactive user interface allowing subscribers to locate friends, send SMS/MMS messages, manage groups of contacts with various locating permissions, and manage points of interest and search addresses with real-time, asynchronous updates of contact locations and statuses.
The system is integrated with telecom infrastructure for location detection using mobile phones, authorization, and billing services. It includes separate Windows services for processing SMS requests (alternative gateway to service) and providing locating service in textual form (queue based distributed service with failover capability). There is a separate web interface for administrators with service usage reporting and client credits/subscriptions management features. The system is implemented as a set of web services providing business logic and database interface with a separate set of different users interface implementations (web, WAP, SMS).
Technology: C#, .NET, Oracle, ASP.NET, IIS, XML, HTML+CSS, AJAX
I created FleetDesktop for CONVIVO. It is a fleet management and vehicle tracking system based on GIS technology (extension module for ESRI ArcGIS system). The system integrates professional GIS/mapping functionality with fleet management and tracking features (extensive vehicle and driver database with table/detail forms, searching and filters, support for different GPS tracking devices, reporting and route replay features, real-time vehicle position, and sensor status display through customizable, complex, and dynamic and interactive vehicle symbols). It is currently deployed by the Zagreb Police Department as well as numerous commercial clients.
Technologies: C#, .NET, SQL Server, ArcGIS, WinForms, GPS interfacing
Mobile OS (Development)
I worked for FG Microtec and Sky Mobilemedia on a next-generation operating system for mobile phone devices. I defined XML language for device-independent and multilingual definition of user interface elements (forms, dialogs, menus) for phone applications. I implemented an XML resource compiler for this language (generates a compact binary representation of UI elements from XML files for storage in phone ROM) and set of C++ libraries to be used by developers allowing fast and easy UI prototyping and device-independent development. I also implemented a complete phone instant messaging application as well as a file browser application with support for management of multimedia files on the phone device.
Technologies: C++, XML
Raster/Vector Conversion R&D (Development)
I worked for CGI Tech on R&D for graphical algorithms to be used as part of automatic raster-to-vector conversion system for online shops (providing a highly compressed vector form of product images to be shown initially to speed up page loads, with progressive loading of standard JPEG compressed images). I implemented algorithms for edge and area detection in raster images—using wavelet filtering, multidimensional clustering, octree geometrical structures, texture signatures, and image region segmentation by color and texture—that support various raster image formats with emphasis on processor specific optimizations.
Technologies: C++, Intel VTune, wavelets, neural networks
Created TranSecure for Inova Designs, Ltd., TransSecure is a Windows desktop client/server GPS vehicle tracking and fleet management system. It includes custom TCP server for communication with custom-built GPS tracking devices (GPRS communication, security features, remote engine/door/lights/alarm control, sensor and camera support), multi-user database, vehicle access management through SecureCards (supporting usage types and access levels), extensive event logging with support for in-vehicle camera and additional custom sensors, animated vehicle journey replays, reports, user and driver management, custom map display and labeling technology with highly optimized vector display, and simple web access to the TranSecure system that is optimized for a variety of clients.
Technologies: C++, MS SQL Server, GDI/GDI+, TCP, GPS interfacing, NAVTEQ data
TIS/GIS Intranet (Development)
I worked on the TIS/GIS Intranet for Plinacro. This is a web-based internal geo-information system for the nationwide gas transportation and distribution company. The system supports management of over 100 different types of objects/parts through a hierarchical set of web forms with object details, tables, complex queries, reports, and data export support. It includes full user management with different security levels. It integrates with the existing SCADA system to allow easy monitoring of all technical aspects of the whole system, including GIS map views through a web interface (data drilling from GIS nationwide map views to object-level technical detail forms). I implemented all web forms, the validation engine, the database access layer, and the links to GIS.
CIMD API (Development)
I implemented the framework and set of C# classes for Vodatel. It supports easy access to CIMD (Computer Interface to Message Distribution) functionalities of the Nokia telecom equipment. The system allows easy SMS sending using either simple API (local application) or web service and HTTP protocol (remote applications) through a server gateway that supports message queuing, delivery status reports, and service monitoring through SNMP protocol. It is currently used in various telecom applications and commercial services.
Technologies: C++, ASP.NET, IIS, SNMP
HEP Intranet (Development)
I implemented an internal, web-based IT system for HEP, a national power distribution company in Croatia. The system supports managing information on all power grid objects (forms with object details, management of attached documents and images, complex queries, tables, extensive report generation and export using Crystal Reports, user management with per-user system zone visibility depending on user’s location and/or access level). It also allows user-friendly, web-based access to all technical aspects of the system.
Technologies: C#, .NET, ADO.NET, ASP.NET, IIS, Oracle, XML, HTML+CSS, Crystal Reports
I created ImageSTOR, a GIS software system for compressing, storing, managing, and real-time display of huge spatial raster images (satellite imagery). The project involved advanced image compression (wavelet) and raster processing algorithms, multi-resolution data structures, custom real-time raster storage and display engine, custom TCP/IP client-server system, ODBC support, strong image management features, encryption technology, plugins for popular GIS applications, ActiveX control development, API/SDK for system customization, and complex setup procedures. ImageSTOR is currently available as an off-the-shelf product for the geo-information systems market.
Technologies: C/C++, Win32/MFC, ODBC/SQL, ESRI ArcView/Avenue, TCP, InstallShield, ActiveX, raster compression, GDI 2D graphics
Subscription Campaigns Management System (Development)
I developed the Subscription Campaigns Management System for Growth Investor, Ltd. It is a web-based system for easy creation and management of online subscription campaigns for a range of magazines. It includes a flexible online form editor, allowing easy customization of payment options and subscription form questions or data fields for each campaign. It also allows for flexible receiving and management of subscription information (through a secure web interface or encrypted email) as well as analysis of all aspects of subscription campaigns (online statistical reports). The system is template-based and database-driven.
Technologies: C#, .NET, ASP.NET, ADO.NET, PGP, SQL Server
I created NATOSym for the Croatian Ministry of Defense. It is a desktop graphical/GIS application for creating composite military symbols and other graphical objects in accordance with NATO standards for use in ESRI GIS systems. The application enables easy creation of multilayered tactical symbols linked to the external database and manual drawing of specific graphical objects (complex arrows, irregular areas) with a user-friendly vector drawing system (node/vertex editing using splines). The system supports encrypted import/export of created tactical maps and easy customization. It can be used as a standalone application or as an ESRI ArcView extension.
Technologies: C++, Win32/MFC, GDI/GDI+, 2D algorithms, TrueType fonts, ESRI ArcView, Fontographer
Emergency Medical Service GIS (Development)
I worked on a complex IT system for emergency medical services in Zagreb. I built a real-time data acquisition system (GPS data received from vehicles through TETRA radio link) that includes a highly optimized custom display engine (real-time vehicle and incident location display on raster and vector background) that is implemented as an ActiveX control combining ESRI MapObjects and custom raster background drawing technology. The system includes database application (Oracle) for storing incident and intervention data, spatial logging of vehicle positions (ESRI ArcSDE), and strong symbolization features for vehicles and incidents (multilayered symbols). The system is in use in Zagreb's 911 service.
Technologies: C++/MFC, Visual Basic, ADO, ActiveX, TCP, ESRI MapObjects/ArcGIS/ArcSDE
OmniTalk is a digital, multi-channel voice recording system that I developed for GISDATA for use in 911 emergency telephone and radio conversations. The system is based on a custom PC with a Dialogic voice card (16 phone channels) and features advanced real-time sound compression (requires ~2 MB of storage per hour of conversation), a client-server system with a separate desktop application for voice playback over the network, and searching and filtering of recorded conversations.
Technologies: C++, Win32/MFC, Dialogic SDK, TCP
Property Data Editor (Development)
Property Data Editor is a custom database application that I created for 08004homes.com for distributed entering of real estate property data (supports richly formatted descriptions and images). The data can then be uploaded into the main database (MS SQL Server) over the internet (automated FTP + server-side scripting) using XML as data transfer format. The system enables automated data entry and maintenance of a backend database used for dynamic web content (real estate property search web site).
Technologies: C++, Visual Basic, XML, TCP/Winsock, InstallShield