Michal Kalis, Developer in Prague, Czech Republic
Michal is available for hire
Hire Michal

Michal Kalis

Verified Expert  in Engineering

Software Developer

Location
Prague, Czech Republic
Toptal Member Since
February 22, 2016

Michal is a senior iOS developer with 10+ years of experience in developing simple and complex applications. With users in mind, he not only produces lines of code but also adds a critical thinking element to UI and UX processes. Passionate about design, Michal is always keen to work on apps that have intrinsic user appeal.

Portfolio

Splash sports
Swift, UIKit, Git, MVVM-C, SwiftUI, REST
Ciphr (via Toptal)
Push Notifications, App Groups, User, AVFoundation, Cryptography, Sockets...
Autobeacon (via Toptal)
BACtrack Breathalyzer API, Recording, Camera API, Core Motion, Git...

Experience

Availability

Full-time

Preferred Environment

Git, Xcode, Figma

The most amazing...

...project I've worked on is Ciphr, providing secure communication with encrypted messenger, email, and storage, all in one app.

Work Experience

Senior iOS Engineer

2022 - PRESENT
Splash sports
  • Developed two sport-related apps. RunYourPool is a service for hosting and managing sports pools and SplashSport is a platform for organizing sports contests with cash prizes.
  • Designed and developed the core application using an MVVM-C architecture.
  • Led continuous integration (CI) and continuous delivery (CD) using GitHub Actions and Fastlane.
  • Communicated with designers, other platform developers, and stakeholders.
  • Prepared the code to implement unit tests, using dependency injection and following SOLID principles.
Technologies: Swift, UIKit, Git, MVVM-C, SwiftUI, REST

iOS Developer

2017 - 2020
Ciphr (via Toptal)
  • Developed a secure communication app with encrypted messenger, email, and storage.
  • Designed and developed the core application, including networking, persistence, logic, and UI.
  • Ported a C and C++ crypto library built for BlackBerry to iOS.
  • Integrated the Double Ratchet Algorithm library and other crypto primitives using AES, HKDF, SHA, and more.
  • Created audio playback and recording by decoding and encoding OGG files.
  • Wrote unit tests for logic and UI parts of code.
  • Led Continuous Integration (CI) and Continuous Delivery (CD) using Xcode Server and Fastlane.
  • Communicated with designers, other platform developers, and stakeholders.
  • Dealt with and resolved threading issues, mostly socket related.
Technologies: Push Notifications, App Groups, User, AVFoundation, Cryptography, Sockets, REST APIs, Fastlane, Xcode Server, Continuous Delivery (CD), Continuous Integration (CI), Scrum, Swift, Realm, Keychain, Model View ViewModel (MVVM)

iOS and Node Developer

2016 - 2017
Autobeacon (via Toptal)
  • Drove iOS and back-end development including architectural decisions and implementation.
  • Developed the whole app from architecture design to distribution.
  • Used multiple technologies for dash cam recording, audio monitoring, location tracking, push notifications, background usage, geofence and iBeacon monitoring, route calculation, and more.
  • Communicated with many third party APIs for (e.g.) breathalyzer tests, retrieving iBeacon information, face detection via Clarifai API, speed checking via Google Maps Premium API, or turn-by-turn navigation.
Technologies: BACtrack Breathalyzer API, Recording, Camera API, Core Motion, Git, Push Notifications, Core Data, Core Location, iBeacon, Node.js, Swift

iOS Developer

2016 - 2016
Westwing (via Toptal)
  • Suggested and implemented ways to make one of the screens (Magazine) look more native.
  • Added unit tests using fake objects, dependency injection, and asynchronous expectations.
  • Designed and implemented preloading of content in the Magazine screen.
  • Added custom modal screen transitions.
Technologies: Jira, JavaScript, WebView, REST APIs, Dependency Injection, Unit Testing, Swift

iOS Developer

2016 - 2016
The Diary (via Toptal)
  • Collaborated to develop a health tracking app helping patients and doctors to communicate with each other.
  • Developed new features and changed existing parts of the app.
  • Implemented custom collection view layouts and animations.
  • Fixed bugs, refactored, tested, and made UX improvements.
  • Managed projects under Scrum methodology in a team of seven iOS developers.
Technologies: Scrum, REST APIs, Sketch, Swift

iOS Developer

2015 - 2016
STRV
  • Focused on pixel-perfect designs, interactive UI, custom layouts, and animations.
  • Analyzed and developed a music app (StereoCast) in a month; later led a team of two other iOS engineers.
  • Involved in the whole development process from discussing ideas with clients, discussing UX and UI, programming, testing, and distribution.
  • Conducted unit testing.
  • Started learning back-end development in Node.js.
Technologies: Ogg, Node.js, JavaScript, Chromecast, Behavior-driven Development (BDD), Alamofire, REST APIs, Core Data, Objective-C, Swift

iOS Developer

2012 - 2015
Cleverlance Enterprise Solutions
  • Developed iOS applications for Czech, Slovak and German clients.
  • Led development of two apps: CEZ ON-LINE and SprachBox Pro.
  • Focused keenly on security, as multiple clients were banks.
  • Worked on projects using Scrum methodology.
Technologies: OAuth, REST APIs, IMAP, Scrum, Git, Core Data, Objective-C

SplashSports

https://splashsports.com
As part of a 3-member iOS development team, I contributed to the creation of two sports-related applications, RunYourPool (4.9 rating) and SplashSports (4.7 rating). RunYourPool is designed to facilitate the hosting and managing of sports pools, whereas SplashSports serves as a platform for organizing sports contests with cash rewards. My role involved contributing to the design and development of the core applications using the MVVM-C architecture, implementing continuous integration (CI) and continuous delivery (CD) processes with GitHub Actions and Fastlane and maintaining effective communication with designers, other platform developers, and stakeholders.

Additionally, I prepared the applications for unit testing by implementing dependency injection and adhering to SOLID principles, ensuring the high quality and maintainability of our codebase.

Ciphr

A secure communication app with encrypted messenger, email, and storage.

I was responsible for porting a proprietary cryptographic library written in C/C++ for BlackBerry to iOS. Afterward, my job was to build the core app and implement the messenger part utilizing cryptographic primitives and protocols from the library. Our team got the app to a production-ready state with a fully functional chat, email, and storage during the engagement, including features like push notifications, file transfers, audio recording and playback, taking photos, contact verification, and more.

All features—heavily focused on security and privacy—needed to be properly designed considering possible edge cases, security risks, and conformance to proprietary protocols.

StereoCast

With a very tight schedule, our team managed to deliver a complete app with all its features—audio playback, real-time data refresh using Firebase, in-app purchases, and more. For the first couple of weeks, I was the only developer for the iOS app and later on led the iOS development.

Feeln

A video streaming app of Hallmark's movies and series. Communication is handled via the REST API and data is managed with Core Data. Video is streamed and secured using DRM technology. Once the design is very important, there are various custom layouts and animations with parallax effects, custom collection view layouts, and more.

SprachBox Pro

The app serves Deutsche Telekom customers to access their virtual voicemail and record personal greetings, adjusting fixed-line settings. For the communication with the back end, both IMAP protocol and REST were used, and data was stored using multi-context Core Data. The app is capable of audio file playback and recording. The project was managed under Scrum, where I was one of the two developers working on the iOS app, mostly responsible for the IMAP part.

Ripple

I was part of a 3-member team developing the app for a US client. It was developed entirely in Swift with a BDD approach. My responsibilities included communication with designers, developing new features, and bug fixing.

Languages

Objective-C, Swift, JavaScript

Tools

Xcode, TestFlight, iTunes Connect, Auto Layout, Adobe Photoshop, Git, Sketch 3, Sublime Text, Sketch, WebView, Jira, Fastlane, Figma, GitHub

Platforms

iOS, Keychain, Firebase

Frameworks

Core Data, Core Location, Core Motion, UIKit, SwiftUI

Libraries/APIs

Alamofire, REST APIs, Camera API, BACtrack Breathalyzer API, Xcode Server, Sockets, Node.js

Paradigms

Scrum, REST, Behavior-driven Development (BDD), Unit Testing, Dependency Injection, Model View ViewModel (MVVM), Continuous Delivery (CD), Continuous Integration (CI)

Storage

JSON, Realm

Other

Software Architecture, Push Notifications, IMAP, OAuth, Chromecast, Ogg, iBeacon, Recording, Cryptography, AVFoundation, User, App Groups, MVVM-C

2010 - 2011

Bachelor's Degree in Information Management

College of Information Management and Business Administration - Prague, Czech Republic

2006 - 2010

Bachelor's Degree in Information Technology

Brno University of Technology - Brno, Czech Republic

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