Fulltime. As a team member at Intermobility, LLC.
Swift, SwiftUI, Combine, gRPC.

Brixby is an application for owners of electric vehicles.

It has a map of electric charging stations. You can filter them by your vehicle's type of charging connector.

Station details includes available connectors, the cost of the charging session, and the amenities near the station.

Brixby app can guide you through the route to the selected station.

You can track available connectors in real time. Since you and other app users checked out start and finish of their charging sessions.

App user can add favorite stations to favorites list. Take photos of stations and upload photos to help other users find them.

I've done a various tasks as a member of iOS developers team: Create SwiftUI views by the Figma prototypes; retrieve and show info from the gRPC backend API.


Fulltime. As a team member at Intermobility, LLC.
Swift, UIKit, Combine, REST, Alamofire.

Ruli is a service that allows car owners to rent out his personal car for a while to other people. Peer-to-peer. The owner of the car himself decides who and when allowed to rent it.

You can invite friends directly in the application: just select some from the list of contacts.

Friends can send you a request to rent your car.

Ruli is convenient for car owners. They can control the car from a smartphone. It is possible to open, close, start and even warm up the car directly in the application. Owner knows everything that's going on with the car: driving history includes location, rental duration, mileage, fuel consumption and, in the long run, driving style.

The service is available in two cities: Moscow and St. Petersburg, Russia.

I've done a various tasks as a member of iOS developers team: Create UIKit views by Figma prototypes; retrieve and show info from the REST backend API.

Runemotion Coming soon

Own pet project.
HealthKit, WatchKit, Swift, SwiftUI, SQLite.

Goal: Make an AppleWatch app to help runners to improve running experience.

My running coach asked me to make a simple watchOS app for counting running laps.

When I've made this app and my happy coach testflight it for some time, lots of bright ideas came into my head.

We are currentlly working on a new version of the app (when I have a free time).

Can't say a lot for now, but I hope it'll bring lots of great emotions for beginner and experience runners, with the little help from ML magic.

Temporary not available

Own project.
Swift, UIKit, JSON, Core Graphics.

Goal: Make a handsome timer to overcome procrastination.

It is easier to start working and not be distracted if you know that this piece of work is limited in time, and after that time you may rest safely.

Moreover, regular periods of rest can bring you a sudden flash of insight, because you brain is not overfocused anymore.

Using standard iOS timer, I quickly became bored by resetting different periods of time back and forth.

Looking at iOS timer I imagined what if I could divide given circle of time by periods. Just by my finger.

I whiteboarded this idea, and it looked good: I will add periods moving finger from the timer ring, and remove them dragging markers inside.

That's how my RingTimer app was born (read full story at

Then I wanted to save some timer presets for later use, so I added this feature.

You can find RingTimer at App Store already.

People tell me they use RingTimer in many different ways, even for making aeropress coffee.


Fulltime. Finished.
iOS Client: Swift, UIKit, JSON, CoreGraphics.

I was hired to create mobile application for the large land-accounting system.

There was a MS SQL Database without any web interface.

At first I developed a REST service, based on the Microsoft Web.API, that provides my application with data in JSON format over https protocol.

I wrote a bunch of T-SQL Stored Procedures, supporting my service.

iOS app has two modules: a customisable dashboard, presenting basic indicators, and a browsable catalog with detail information about each database item.

For this project I created my own graph drawing framework.

It can render several types of graphs(widgets), including: linear chart, pie chart, histogram, data tables, search pad.

It uses JSON markup language to describe type, style and data of the graph.

Dashboard custom component allows user to organise widgets into dashboards.

User can create several dashboards, and switch them rapidly.

User can select widgets to display on each dashboard. She can reorder widgets and set the size of each widget. Than dashboard component lays out widgets automatically.

UForum gallery

Swift, UIKit.

UForum is an application, as well as a service, might be used by the organizers to provide guests with an event schedule, an exhibition map, a list of participants, etc.

The service owners asked me to upgrade their application so that participants could post and share photos in the event's gallery.

It might look simple at a first glance, just use some gallery component from GitHub.

But after playing with some of them, I realized they are too complex, or with outdated codebase, or does not suits well with my network layer.

Furthermore, with standard UICollectionView and UIScrollView, it is easy to create custom gallery component with needed features and with a clear api.

That's exactly what I did.

UForum files

Part-time. Finished.
Swift, UIKit.

Speakers often want to distribute illustrations, tables, or other files related to the report to the audience.

I added this feature to the UForum application.

Listeners can view the files right in the application, send them by e-mail, through social networks, or transfer to other applications on the device.

Usually file size is quite large.

That's why I created file cache. Which stores frequently used files. Cache size is limited by parameter to several megabytes.

When cache size is about to exceed this limit, it removes some less used files.

UForum offline

Part-time. Finished.
Swift, UIKit, Realm, RxSwift.

Originally UForum application was not made as an ‘offline first’.

However, sometimes events take place in locations where bad Internet connection and low Wi-Fi speed is an issue.

So my goal was to introduce an offline mode to the application.

When user turns on an ‘Offline mode’ switch, application downloads all essential data from the service and stores it locally on device.

The hardest part was to gently review all codebase, detecting code that might lead to runtime error being offline, and refactor these code fragments.

Neural Networks and Deep Learning

Has successfully completed ‘Neural Networks and Deep Learning’, an online course by on Coursera.

Certificate earned at Tuesday, June 5, 2018 8:10 AM GMT

Certificate Validation