Ivan Rublev

I am an iOS and macOS developer and consultant.

I write apps in Swift and Objective-C via XCode and use CocoaPods as the package manager.

I follow SOLID principles in object-oriented programming and prefer to build software using Clean Architecture by Robert C. Martin.

As for me, following the client’s business value is the recipe for a good software. I prefer to use Agile software development process.

I’m keen on sharing the knowledge and taking part in IT meetups regularly. Sometimes I talk about things I think should be widely known. For example, see my keynote about the Clean Architecture.


  • LinkedIn
  • GitHub

iOS works

Ringer app

Universal app for iPhone and iPad. Made it just for fun.

It’s like repeating timer app but for only one most important thing. In contrast to the native Timer app, it alarms with sound and then repeats the countdown automatically unless the Auto Stop time comes.

Ringer app

Methodologies

Clean Architecture, SOLID principles.

Tools

Objective-C, XCode, iOS 9.x-10.x SDK, CocoaPods, HockeyApp (for crash reporting), GoogleAnalytics, Unit Tests via Quick/Nimble.

iOS frameworks and technologies

Local Notifications, UserNotifications, Background Content Download, Background Execution, CoreSpotlight, MediaPlayer, AVFoundation, GCD, NSOperationQueue, NSURLSession, CallKit, CoreTelephony, StoreKit, State Restoration.

Accomplishment

In this app I’ve implemented the Clean Architecture by Robert C. Martin. As consequence new features can be inserted faster, the code was covered with unit tests easily.


macOS work

Video recording app

App for my client working in macOS 10.9-10.11.

This app records video and uploads it to Amazon AWS S3.

Video recording app

Methodologies

Model View Controller approach, SOLID principles.

Tools

Swift 2.3, XCode, OSX 10.11 SDK, CocoaPods, HockeyApp (for crash reporting), Unit Tests via Quick/Nimble.

macOS frameworks and technologies

AppKit, Alamofire, ObjectMapper, REST, JSON, AmazonS3RequestManager, AVFoundation, CoreMedia, GLKit, GCD, NSOperationQueue, Darwin level file reading, Custom Framework with UI controls.

Accomplishment

This is a production app mostly written in Swift with small portions in Objective-C.

In this app I made video stream to be resized on the fly via OpenGL during recording. I’ve written the multipart file uploader to Amazon AWS S3. It uploads video file chunk by chunk during the recording. So at the end of the recording video is almost there.


Inquires

Please, send work requests via personal message in LinkedIn.