Ruslan Kalinovych, Developer in Kiev, Ukraine
Ruslan is available for hire
Hire Ruslan

Ruslan Kalinovych

Verified Expert  in Engineering

Software Developer

Location
Kiev, Ukraine
Toptal Member Since
September 5, 2022

Ruslan has profound experience in professional commercial development and is proficient at writing high-quality testable and maintainable code. He can develop end-to-end applications, leveraging his Agile development methodology knowledge and having worked with large teams. Former startupper who worked with ArCore, OpenGL, and video and audio processing.

Portfolio

Sonerim
Kotlin, Bluetooth LE, Model View ViewModel (MVVM), Google In-app Billing...
My Own Startup
Kotlin, C++17, Android SDK, Android NDK, ARCore, Computer Vision...
SPD-Ukraine
Kotlin, Domain-driven Design (DDD), Clean Architecture...

Experience

Availability

Part-time

Preferred Environment

MacOS, Android Studio, Slack, Jira, GitLab

The most amazing...

...achievement I've had is my startup. I was the PO, PM, and team lead engineer. We utilized remarkable technologies and interviewed and hired developers.

Work Experience

Android Engineer

2019 - 2022
Sonerim
  • Created OpenGL video editor library with a convenient interface to use and the ability to add a pseudo infinite amount of video, GIF, and image objects on the surface.
  • Created an application following clean architecture and MVVM for football fans.
  • Implemented in-app purchases with Google Billing and Stripe.
  • Uploaded applications to Google Play Store and managed them.
  • Covered codebase with unit test and supported CI/CD.
  • Optimized app performance and user experience, reduced screen loading to 50%, and significantly improved viability.
Technologies: Kotlin, Bluetooth LE, Model View ViewModel (MVVM), Google In-app Billing, Stripe API, Interviews, GitHub, Bitbucket, Unit Testing, WebRTC, OpenGL ES, Android, GitHub Actions, Mobile, Mobile Apps

Product Owner and Team Lead Engineer

2019 - 2020
My Own Startup
  • Developed an app that controlled a small car with a camera and augmented reality.
  • Built an Arduino-based car prototype that is controlled by a phone via Bluetooth low energy.
  • Interviewed and hired developers for the project, set up goals, and distributed tasks between them.
  • Developed performance and efficient object recognition algorithm based on pixel iteration.
  • Created an algorithm for building a route a car had to drive on.
  • Built domain logic on C++, which was used for Android, Arduino, and iOS.
  • Developed AI for Arduino-based cars. Bots that users didn't control.
  • Came up with extendable and testable architecture, covered with C++ and Kotlin unit tests.
  • Presented the startup on Startup Crash Test event for investors.
Technologies: Kotlin, C++17, Android SDK, Android NDK, ARCore, Computer Vision, Clean Architecture, WiFi Direct, Bluetooth LE, GitLab, GitLab CI/CD, Google Test, OpenGL ES, Camera2 API, Google In-app Billing, Unit Testing, Management, Android, Mobile, Embedded C, Mobile Apps, Project Management, Networks

Android Engineer

2019 - 2019
SPD-Ukraine
  • Developed a teleprompter application from scratch with 99.8% of crash-free users.
  • Implemented an in-app lightweight OpenGL video editor to add subtitles or logos to a recorded video.
  • Created extendable and testable multi-module architecture.
  • Developed a rich text editor that allows displaying and editing HTML text.
  • Read PDF, DOC, DOCX, and .TXT files to extract subtitles.
Technologies: Kotlin, Domain-driven Design (DDD), Clean Architecture, Model View ViewModel (MVVM), Camera API, Camera2 API, OpenGL ES, Coroutines, Dependency Injection, Android SDK, GitHub, Android, GitHub Actions, Mobile, Mobile Apps

Android Developer

2018 - 2019
Faifly
  • Supported four health care applications, fixed bugs, and increased crash-free users level.
  • Fixed OpenCV-related bugs and troubleshot image recognition.
  • Built an efficient Android cleaner that can improve system performance.
  • Reversed engineered APKs from Play Store to see how other cleaners work.
  • Implemented app killing, cache clearing, file system analysis, and duplicate findings in the system.
Technologies: Java, Kotlin, Reverse Engineering, Computer Vision, Model View Presenter (MVP), Model View Controller (MVC), Android SDK, Optimization, Devices, Healthcare, Performance, Android, Mobile, Mobile Apps

Android Developer

2017 - 2018
Freelance
  • Created an application for restaurants to help users create orders.
  • Developed an application from scratch following Agile methodology.
  • Communicated with a client and a team, converting business ideas into code solutions.
Technologies: Java, Android SDK, Android, Mobile, Mobile Apps

ArCars

It's my startup with idea to create a radio-controlled car managed by a phone with augmented reality.

I was a product owner and product manager, interviewing people, managing tasks, and communicating with investors and Android engineers who implemented augmented reality with ArCore. Recognized tiny toy cars with OpenCV and wrote core logic using C++.

OpenGl Video Editor

An OpenGl library for an Instagram story maker app that allows adding a video, GIF, and PNG and placing them freely on a surface.

I implemented a flexible and convenient interface for the client. The library could render added objects into a final video and merge audio streams of video objects on the surface.

Harvard Videotelephony App

A WebRTC and MediaSoup-based video conference app that has particular features for the university.

I started working on the project from the beginning and implemented all WebRTC communication and video stream processing. We had some problems with the MediaSoup library, so we rewrote and recompiled it for our usage. The application had to handle 500 participants with videos and audio; thus, we spent some time optimizing it.

Experiwear

https://play.google.com/store/apps/details?id=com.experiwear.android
An Android application for football fans created from scratch using clean architecture and Model View Viewmodel (MVVM) achieved a 99.8$ crash-free rate.

Implemented BLE communication with unit tests and in-app Google Billing along with Stripe.

ICount

https://play.google.com/store/apps/details?id=com.icount
A finance application for creating different types of invoices for businesses. I maintained the project, fixed bugs, implemented new features, improved crash-free users from 66% to 91%, and optimized the app's performance.

Teleprompter

A teleprompter application where users film themselves on a frontal camera reading subtitles. The app has multiple features, including recording a video and displaying, adding, editing, and rendering subtitles on a final video with OpenGL.

I created it from scratch following Domain-driven Design (DDD), clean architecture, multi-modules, and MVVM. Used Camera2 and CameraX and implemented a lightweight OpenGl in-app video editor.

HealthMonitors

https://play.google.com/store/apps/developer?id=RPM+Healthcare
Health care applications to track a patient's state of health, communicate with a doctor, and control health devices like blood pressure monitors and oximeters.

The project consisted of four applications that utilized the same core codebase. I maintained the project, fixed bugs, implemented new features, and established communication with the blood pressure monitor and oxygen meter devices.

Teacher’s Helper

An app to help teachers check students' answers on test sheets.

Used OpenCV to recognize selected variants and analyze correct answers. My responsibility was to fix OpenCV-related bugs and implement new features.

FairCleaner

A cleaner intended for optimizing a device, clearing the system, finding duplicates, and battery saving.

During development, I reverse-engineered other cleaners from Google Play Store to see how they worked and implemented a feature to kill running processes inside the system.

Android Logging Library

https://github.com/mrizyver/EfficientLogs
I wanted to create an efficient logging library without impacting performance, even though I could write tons of logs.

Imagine a situation where users could lavishly log the onDraw Canvas method with every single Log.d method call at runtime. We created a StringBuilder object, obtained a string, passed it as an argument to the method, and entered a new stack from the byte code perspective. Thus, we consume CPU time and create a new object, which is not good in the onDraw method. Finally, I came up with an idea for the logging library that makes no objects, doesn't enter a stack, and doesn't have the logging code in the release build.

Libraries/APIs

OpenGL ES, Camera2 API, Camera API, Stripe API, WebRTC, OpenCV

Tools

GitHub, Android Studio, IntelliJ IDEA, Slack, Gradle, Android NDK, GitLab, GitLab CI/CD, Bitbucket, Android Debug Bridge, CLion, Jira

Frameworks

Android SDK, Google Test

Paradigms

Clean Architecture, Model View ViewModel (MVVM), Dependency Injection, Unit Testing, Model View Presenter (MVP), Model View Controller (MVC), Management

Languages

Kotlin, Java, C++17, Embedded C, C

Platforms

MacOS, Ubuntu, Manjaro Linux, Android, Mobile, ARCore, Bluetooth LE

Industry Expertise

Project Management, Healthcare

Other

Domain-driven Design (DDD), Coroutines, Optimization, Performance, Mobile Apps, Android Foreground Services, Native Mobile Apps, Computer Vision, WiFi Direct, Google In-app Billing, Bluetooth, GitHub Actions, Networks, Low-level Programming, File Management, Videos, Animated GIFs, Images, Reverse Engineering, Devices, Interviews, Custom Views, Mediasoup, Video & Audio Processing, Image Recognition

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring