C# Developer in Osijek, Croatia
Owner, Software Architect and Developer2001 - PRESENTLorijen d.o.o. Osijek
- Founded the company to provide software and web development services both locally and globally to clients requiring technologically advanced custom solutions.
- Created the ImageSTOR GIS software system for compressing, storing, managing, and displaying large spatial raster images in real time. The project resulted in an off-the-shelf product.
Software Developer, GIS Specialist, Database Designer1997 - 2001GISDATA d.o.o. Zagreb
Technologies: C, C++, C#, Win32, MFC, GDI, ODBC, SQL Server, Oracle, ESRI GIS
- Created GeoCalc, a custom Windows desktop (WinForms) geodesic application that acquires data from "total stations" (geodesic equipment), performs calculations, and generates graphic reports, with interfaces for CAD/GIS applications such as AutoCAD and ArcView.
- Worked on R&D of a military UAV system for remote operation of small, unmanned aerial vehicles. Wrote code for the software aspect of the project involving real-time acquisition of encrypted data and display of the aircraft location on a scanned background map, including an instrument panel displaying vehicle status measurements (speed, altitude, bearing, fuel level, etc.). The system included features such as flight planning, navigation, monitoring, data logging, and replay, and is currently in use by the Croatian Department of Defense.
- Created an application for the maintenance department of a Croatian telecom phone network, featuring graphical and spatial interface, as well as a technical CAD network database, with real-time graphical AutoCAD updates based on metadata entry.
- Created an application for the Croatian Department of Defense featuring easy creation of interactive maps based on raster/vector image background and custom sets of interactive symbols with drag & drop support and real-time connection to database containing symbol metadata (automatic re-positioning based on GPS data, symbol change, display of various attributes) through a database connection.
- Created a water quality monitoring system for the Croatian Department of Environment Protection, featuring integration of GIS system and the client's database supporting analysis, map production, and report generation.
- Implemented a GIS application for the Croatian Tourism Institute, supporting planning, analysis, map generation, and reporting on tourism resources and activities using ESRI GIS tools.
- Created a minefield clearing support GIS for the Croatian Department of Defense; features implemented include graphical and form-based data entry and data mapping to support de-mining field teams.
- 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)https://www.bamfunds.com
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)http://www.zugata.com
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)http://www.slantrange.com/
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)http://pts-ag.com/gradedesign.html
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)http://mydepositsscotland.co.uk
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
- Pipeline (Development)http://cleanenergypipeline.com
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
- MetaTrader.NET (Development)
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
- FleetDesktop (Development)
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
- TranSecure (Development)
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
- ImageSTOR (Development)
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
- NATOSym (Development)
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 (Development)
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
Frameworks.NET Core, ASP.NET Core, .NET, Entity, ASP.NET Web API, Windows Presentation Foundation (WPF), ASP.NET MVC, Windows Communication Framework (WCF), ADO.NET, Qt, Qt 5
Libraries/APIsOpenCV, WinForms, GDI(+), LINQ, Win32 API, NumPy, Pandas, Matplotlib, Keras, PyTorch, Scikit-learn
ToolsVisual Studio Tools for Office (VSTO), Microsoft Visual Studio, Scikit-image, RabbitMQ, Microsoft Office, Subversion (SVN), Git, GIS
PlatformsWindows, Jupyter Notebook, Azure
StorageMicrosoft SQL Server, Azure SQL, JSON, Database Modeling
OtherConvolutional Neural Networks, Image Processing, Office Plugins, Machine Learning, TCP, Computer Graphics, Natural Language Processing (NLP), LSTM Networks, RESTful Web Services, Multithreading, AI Programming
ParadigmsData Science, Microservices, Agile Software Development, REST
- Course in Deep Learning for Coders2017 - 2018Fast.ai - Online
- Specialization certificate in Deep Learning2017 - 2018Coursera - Online
- Bachelor of Science degree in Computer Science1990 - 1995Faculty of Electrical Engineering, Zagreb University - Zagreb, Croatia
- Sequence ModelsAPRIL 2018 - PRESENTCoursera
- Convolutional Neural NetworksAPRIL 2018 - PRESENTCoursera
- Deep Learning SpecializationAPRIL 2018 - PRESENTCoursera
- Structuring Machine Learning ProjectsMARCH 2018 - PRESENTCoursera
- Improving Deep Neural Networks: Hyperparameter tuning, Regularization and OptimizationMARCH 2018 - PRESENTCoursera
- Neural Networks and Deep LearningMARCH 2018 - PRESENTCoursera