Michal Kalis, Software Developer in Prague, Czech Republic
Michal Kalis

Software Developer in Prague, Czech Republic

Member since October 21, 2015
Michal is a senior iOS developer with 8+ years of experience in developing simple and complex applications. With users in mind, he’s not only producing 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.
Michal is now available for hire

Portfolio

Experience

Location

Prague, Czech Republic

Availability

Part-time

Preferred Environment

Sketch, Git, Xcode

The most amazing...

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

Employment

  • iOS Developer

    2017 - 2020
    N/A (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/C++ crypto library built for BlackBerry to iOS.
    • Integrated the Double Ratchet Algorithm library and other crypto primitives (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 CI and CD using Xcode Server and Fastlane.
    • Actively 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), CIMA, 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

Experience

  • Secure Communication

    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. During the engagement, our team got the app to a production-ready state with a fully functional chat, email, and storage, 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.

Skills

  • Languages

    Objective-C, Swift, JavaScript
  • Tools

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

    iOS, Keychain, Firebase
  • Frameworks

    Core Data, Core Location, Core Motion
  • 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, Certificate Pinning

Education

  • Bachelor's degree in Information Management
    2010 - 2011
    College of Information Management and Business Administration - Prague, Czech Republic
  • Bachelor's degree in Information Technology
    2006 - 2010
    Brno University of Technology - Brno, Czech Republic

To view more profiles

Join Toptal
Share it with others