Roman Bartusiak, Natural Language Processing (NLP) Developer in Wrocław, Poland
Roman Bartusiak

Natural Language Processing (NLP) Developer in Wrocław, Poland

Member since January 23, 2018
Roman is an award-winning Ph.D. candidate in the field of artificial intelligence, but his love for technology started far earlier. Roman started programming at the age of 12, and at 13, sold his first software program. Roman also has broad expertise in machine learning and software development in multiple languages and paradigms. He likes to apply efficient solutions in order to optimally utilize resources in order to solve real-life problems.
Roman is now available for hire

Portfolio

Experience

Location

Wrocław, Poland

Availability

Part-time

Preferred Environment

Arch Linux, Visual Studio Code, IntelliJ, Git, Zsh, Sublime Text, Linux

The most amazing...

...thing I've coded is an open-source library SparklingGraph that helps process graphs in distributed environments.

Employment

  • Owner | Freelancer

    2016 - PRESENT
    Roosters
    • Implemented person detection and tracking for both WiFi and Bluetooth using Rust.
    • Developed a method to estimate a person's gender and age using Kairos SDK.
    • Enabled people detection in CCTV stream using multiple machine learning (ML) methods.
    • Created web applications using Rust Rocket and React.
    • Determined a person's gender and estimated the age using Affectiva SDK.
    • Built an RFID tag scanner using Rust.
    Technologies: Big Data, Akka Actors, Artificial Intelligence (AI), Apache Spark, Machine Learning, JavaScript, Rust, Python, Scala, Java
  • CTO | Co-founder

    2017 - 2020
    IamBot
    • Built image similarity models using TensorFlow. Developed convolution DDNs for image representation and cross-image similarity calculation.
    • Developed the back end using the Play framework, Akka, and Cats.
    • Implemented Akka-based work distribution. Sharded work in order to increase scalability and parallelism of the app.
    • Developed a React, Redux, Sagas, and Relay dashboard using the Metronic template.
    • Worked with natural language processing (NLP) and natural language understanding (NLU) based on word vectors.
    • Utilized GoogleML in order to train machine learning models.
    • Designed and implemented deployment procedures using Kubernetes and Helm.
    • Utilized multiple languages in microservices that communicated using gRPC.
    • Created transformer-based language models using PyTorch.
    Technologies: Akka Actors, Convolutional Neural Networks, Neural Networks, Artificial Intelligence (AI), Machine Learning, GRPC, Helm, Kubernetes, Relay, GraphQL, Rust, Python, React, TensorFlow, Play Framework, Scala
  • IT Consultant | Research Assistant

    2015 - 2016
    Wrocław University of Science and Technology
    • Implemented an SSO platform based on OAuth 2 using Spring.
    • Integrated multiple services using Docker.
    • Maintained experimental environments.
    • Managed Spark clusters.
    • Executed data backups using IBM Tivoli.
    Technologies: Angular, Spring, JavaScript, Java
  • Software Architect

    2013 - 2015
    Nokia Networks
    • Developed Vaadin portlets and components (GWT, JavaScript).
    • Created JEE web services.
    • Built a proof of concept (POC) using Angular.
    • Developed web service clients.
    • Managed a private Docker hub.
    • Created a full deployment solution using Jenkins and Docker.
    Technologies: Angular, GWT, JEE, Vaadin, Java
  • Web Developer

    2012 - 2013
    Chop-Chop.org
    • Supported a Magento store.
    • Wrote Java software that parsed PSD files.
    • Translated PSD files to HTML code.
    • Wrote custom JavaScript scripts.
    • Developed custom Magento modules.
    Technologies: JavaScript, CSS3, HTML5

Experience

  • SparklingGraph (Development)
    http://sparkling.ml

    Using SparklingGraph, you can do fast computations on your graph data. You can utilize the computational power of multiple nodes but also compute on your own laptop thanks to the power of Apache Spark. SparklingGraph provides many graph measures but also gives you the ability to easily load graphs from many common formats like CSV, GML, and more.

  • Sentinent Analysis for Polish Language using SVM and BoW (Development)
    https://github.com/riomus/polish-sentiment

    A self-containing project that enables users to classify texts in terms of sentiment. Using a provided docker image, you can easily use state-of-the-art NLP methods for the Polish language and achieve cutting-edge results in sentiment analysis tasks. The provided API classifies the text in terms of two sentiment classes: positive and negative.

  • HMM.js (Development)
    https://github.com/riomus/HMM.js

    These are Hidden Markov models implemented in JavaScript with Viterbi algorithms for learning. The library gives you the ability to create and train Hidden Markov Models, that can be used in many tasks like sequence classification, NLP, and more. By using low-level JavaScript primitives, the library achieves low classification and training times.

  • Gesture Recognition (Development)
    https://github.com/riomus/GestureRecognition

    This is a program for gesture recognition for JavaScript using Hidden Markov Models. The project utilizes HMM.js and OpticalFlow.js in order to classify user gestures captured using a webcam. Using that library, you can create games that utilize gestures as a controller.

  • Vibe.js (Development)
    https://github.com/riomus/vibe.js

    A ViBE background subtraction algorithm implemented in JavaScript (with performance optimizations). The library utilizes low-level JavaScript primitives in order to utilize low processing times for each video frame. Using this library, you can create projects that can easily detect non-backgrounds on webcam video streams (or other video sources).

  • OpticalFlow.js (Development)
    https://github.com/riomus/OpticalFlow.js

    An optical flow that was implemented in JavaScript. The library implements optical flow based movement detection in video streams. It can be utilized to detect movements and then processes it in order to detect gestures. Using this library, you can detect the direction of the movement on each pixel between two video frames.

Skills

  • Languages

    Java, Python 2, Python 3, GraphQL, Scala, Python, HTML5, JavaScript, JavaScript 6, Rust, Bash, Sass, CSS3, C++
  • Frameworks

    Apache Spark, Akka, Spark, Play Framework, Play 2, Relay, GRPC, Angular, Spring, Redux, Mockito, Spring 5, GWT, Swagger, Compass, Vaadin
  • Libraries/APIs

    GraphX, Akka Streams, Spark ML, React, Sangria, TensorFlow, AssertJ, PyTorch, Node.js, jQuery
  • Tools

    Maven, Helm, SBT, GitLab CI/CD, LaTeX, GitHub Pages, GitHub, GitLab, Git, Redux Thunk, Sublime Text, IntelliJ, Message Broker, Docker Compose, Oh My Zsh, Zsh, Jenkins, Travis CI, Redmine, Adobe Photoshop
  • Paradigms

    Web Architecture, Distributed Computing, DevOps, Test-driven Development (TDD), Testing, Functional Programming, Scrum, Agile Software Development, Clean Code, API Architecture, Reactive Programming, Microservices, DRY, REST, Pair Programming
  • Platforms

    Docker, Arch Linux, Kubernetes, Amazon Web Services (AWS), Linux, Visual Studio Code, JEE, Azure, Android
  • Storage

    MongoDB, Elasticsearch, MySQL, PostgreSQL, Redis, NoSQL, JSON
  • Other

    Akka Actors, Machine Learning, Natural Language Processing (NLP), Artificial Intelligence (AI), Neural Networks, Deep Neural Networks, Convolutional Neural Networks, Graphs, OOP Designs, APIs, Sagas, EMR, Responsive Web Apps, AWS, Cloud, Big Data, Code Architecture, Message Queues, Scalability, Reactive Streams, Domain-driven Design (DDD), SOAP, GitFlow, SSH, Word2vec
  • Industry Expertise

    Web Development

Education

  • Ph.D. in Computer Science (Artificial Intelligence)
    2015 - 2020
    Wrocław University of Science and Technology - Wrocław, Poland
  • Master's degree in Computer Science (Artificial Intelligence)
    2014 - 2015
    Wrocław University of Science and Technology - Wrocław, Poland
  • Engineer's degree in Computer Science
    2010 - 2014
    Wrocław University of Science of Technology - Wrocław, Poland

Certifications

  • Reactive Architecture (5): Distributed Messaging Patterns
    APRIL 2020 - PRESENT
    Lightbend, Inc.
  • Reactive Architecture (4): Building Scalable Systems
    APRIL 2020 - PRESENT
    Lightbend, Inc.
  • Reactive Architecture (3): Reactive Microservices
    APRIL 2020 - PRESENT
    Lightbend, Inc.
  • Reactive Architecture (2): Domain Driven Design
    MARCH 2020 - PRESENT
    Lightbend, Inc.
  • Reactive Architecture (1): Introduction to Reactive Systems
    MARCH 2020 - PRESENT
    Lightbend, Inc.
  • Machine Learning
    OCTOBER 2015 - PRESENT
    Stanford University via Coursera
  • Java Standard Edition 6 Programmer Certified Professional
    SEPTEMBER 2014 - PRESENT
    Oracle University
  • Functional Programming Principles in Scala
    APRIL 2014 - PRESENT
    École Polytechnique Fédérale de Lausanne via Coursera
  • Introduction to Software Development on SAP HANA
    JULY 2013 - PRESENT
    SAP

To view more profiles

Join Toptal
Share it with others