Scroll To View More
Lovro Iliassich

Lovro Iliassich

Madrid, Spain
Member since January 7, 2016
Lovro is a software engineer and computer scientist with significant experience in data science. Combining his academic with his practical experience on commercial projects (back-end, front-end, web, mobile, Java...) and strong visualization skills, he can contribute to any part of a software development project. He's also enthusiastic about machine learning.
Lovro is now available for hire
  • Java, 16 years
  • Data Science, 10 years
  • Machine Learning (ML), 8 years
  • Android, 7 years
  • Data Visualization, 5 years
  • Distributed Programming, 3 years
Madrid, Spain
Preferred Environment
Windows, Linux, Android, NetBeans, Git
The most amazing...
...thing I've done was a post-doc project with the European Space Agency (ESA) on using computer vision for navigation of the Mars lander.
  • Software Development Engineer
    2017 - PRESENT
    • Developed technology for the EU fashion industry.
    Technologies: Java
  • Data Scientist
    Toptal: Ped Motion
    2017 - 2017
    • Modeled and trained a convolutional neural network for sound classification.
    • Trained the network to recognize different types of golf shots in audio streams.
    Technologies: Scikit-Learn, Keras, Python
  • Research Scholar
    Drexel University
    2015 - 2016
    • Brought in as a visiting scholar in the Department of Computer Science, Database Group.
    • Researched mining and modeling rank and preference data.
    • Implemented a Java library for handling and mining rank and preference data.
    Technologies: Java, Python, Machine Learning
  • Research Engineer
    2012 - 2015
    • Parallelized machine learning algorithms (SVM, affinity propagation, neural networks, etc.).
    • Conducted high-performance computing. Adapted algorithms for a large-memory (8 TB RAM) NUMA architecture, on a low level (in C/C++), with awareness of cache processes, memory blocks latencies, and exact control over assignment of threads to cores.
    • Worked on a semantic web project (RDF, Wikidata mining). Implemented a crawler and category recommender system for Wikipedia.
    Technologies: Java, C/C++, Python, MATLAB
  • Assistant Professor
    Metropolitan University
    2011 - 2012
    • Taught at undergraduate and graduate level, including courses in web systems and applications, distributed systems, and information system design.
    • Developed the university information system and business process management workflow.
    Technologies: Java, Web, UML
  • Post-doc Researcher
    University of Eastern Piedmont
    2010 - 2011
    • Contributed to a European Space Agency (ESA) project on using computer vision for Mars lander navigation.
    • Implemented a real-time system in C/C++ with OpenCV. Analyzed the image stream from the camera attached to Mars Lander bottom in order to calculate the position of the lander (coordinates, altitude, attitudes).
    • Tracked features in the video. Filtered the output and combined information with other sensors (lidar, inertial measurement unit).
    • Modeled the Mars surface in Java 3D.
    • Built a landing simulation in C/C++ and MATLAB.
    Technologies: Java, C/C++, MATLAB
  • Ph.D. Student
    University of Turin, Department of Computer Science
    2006 - 2010
    • Did my doctoral studies in the field of data mining and machine learning.
    • Worked with text mining on local government data and document classification.
    • Researched sequential pattern mining; recognizing users by keyboard strokes.
    • Studied log mining, modeling and predicting usage of a grid computing network.
    • Worked with graph analysis and complex systems analysis, as well as visualization of complex data.
    Technologies: Java, Weka
  • Software Engineer
    2001 - 2006
    • Joined RCUB (Belgrade University Computer Center), where the best software engineering students, after graduation, are offered an opportunity to work on commercial and research projects in an inspiring environment.
    • Designed and architected Version 2 of a network (WAN) monitoring system used in several huge organizations and companies (banks and telecommunications).
    • Designed, implemented, and led the team of the hospital information system currently in use in about half of the hospitals in Serbia.
    • Gained experience in all aspects of implementing large information systems: from interviews, specifications, and UML model, to database design, back-end business logic, to front-end, web (including web design), and stand-alone clients (Delphi at Java Swing at that time).
    • Also worked on a government information system, fleet management system, and more.
    Technologies: Java, Web, UML
  • Ranked Data Analysis (Development)

    Mining and modeling ranked (preference) data.

  • It Snows (Development)

    A personal project of mine: a ski community mobile application. I built the server back-end and web services with an Android mobile application front-end.

  • Java Affinity Propagation Library (Development)

    A parallelized implementation of the Affinity Propagation clustering algorithm.

  • Mandrago (Development)

    A mobile workforce and dispatching system—a personal startup project.

  • Heliant HIS (Development)

    I architected and designed the Hospital Information System, used currently by about half of the hospitals and clinics in Serbia. The system handles workflow, scheduling, medical records, etc.

  • Network Monitoring System (Development)

    A wide area network (WAN) monitoring system. Used by the Academic Network of Serbia, National Bank, and a couple banks and telecommunications companies.

  • Skidea (Development)

    Maps of ski resorts for Garmin GPS devices.

  • Clustering Algorithms: From Start To State Of The Art (Publication)
    Clustering algorithms are very important to unsupervised learning and are key elements of machine learning in general. These algorithms give meaning to data that are not labelled and help find structure in chaos. But not all clustering algorithms are created equal; each has its own pros and cons. In this article, Toptal Freelance Software Engineer Lovro Iliassich explores a heap of clustering algorithms, from the well known K-Means algorithm to the elegant, state-of-the-art Affinity Propagation technique.
  • Languages
    HTML, Java, JavaScript, UML, C++, C, Python, SQL
  • Frameworks
    Bootstrap, Play Framework, Android SDK, Apache Spark, Tapestry, JUnit
  • Libraries/APIs
    jQuery, Scikit-learn, Google API, Keras, Facebook API, Spark ML, PyTorch, TensorFlow, OpenCV
  • Tools
    Adobe Photoshop, Weka, MATLAB, Trello
  • Paradigms
    REST, Data Science, Model View Controller (MVC), Object-oriented Programming (OOP), Parallel & Distributed Computing, High-performance Computing, Distributed Programming, Kanban, Test-driven Development (TDD)
  • Platforms
    NetBeans, Android, Linux
  • Storage
    Database Modeling, MySQL
  • Misc
    Neural Networks, Data Visualization, Machine Learning (ML), Deep Neural Networks, Classification, Classification Algorithms, Data Mining, Regression, Data Modeling, Regression Models, Clustering, Clustering Algorithms, Scientific Computing, RESTful APIs, Unsupervised Learning, Convolutional Neural Networks, Deep Learning, Graphical models, Computer Vision
  • Ph.D. in Computer Science
    University of Turin, Department of Informatics - Turin, Italy
    2006 - 2010
  • Master of Science degree in Computer Systems and Networks
    University of Belgrade, School of Electrical Engineering - Belgrade, Serbia
    2001 - 2004
  • Bachelor of Science degree in Computer Science and Technology
    University of Belgrade, School of Electrical Engineering - Belgrade, Serbia
    1995 - 2001
I really like this profile
Share it with others