RingTimer

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 in3s.ru/en/timer).

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.

Dashboard

Fulltime.
iOS Client: Swift, UIKit, JSON, CoreGraphics.
.NET Server: REST, JSON, ASP.NET Web.API.

I was hired to create mobile application for the large land accounting information 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.

As for application, it consists of two modules. First is a customisable dashboard, presenting basic indicators. Second is 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

Part-time freelance.
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 freelance.
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 freelance.
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 deeplearning.ai on Coursera.

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

Certificate Validation