Michal Pietras, Algorithms Developer in London, United Kingdom
Michal Pietras

Algorithms Developer in London, United Kingdom

Member since April 26, 2016
Michal is a software engineer who has specialized in developing the iOS platform since the first SDK was released in 2008. Except for all things Apple, he's an open-source software fanatic with knowledge of FreeBSD and an interest in low-level programming. When writing code, Michal always aims for the cleanest solution possible and well-architected code. In his spare time, he enjoys studying algorithms and participating in programming competitions.
Michal is now available for hire


  • Mixhalo
    Swift, C, Xcode, Instruments, Git, iOS, Algorithms, Data Structures...
  • Michal Pietras Apps
    Storyboarding, Test-driven Development (TDD), Data Structures, Algorithms...
  • Firefly Experience
    MapKit, Test-driven Development (TDD), Concurrent Programming...



London, United Kingdom



Preferred Environment

Git, Vim Text Editor, Xcode, FreeBSD, tvOS, WatchOS, iOS, OS X

The most amazing...

...thing I've created is a real-time audio engine for Mixhalo that allows real-time audio streaming for live events.


  • Founding iOS Software Engineer

    2016 - PRESENT
    • Architected and developed an event-driven ultra-low-latency audio engine based on AVAudioEngine and Audio Units for real-time audio streaming for live events over a custom Wi-Fi network, standard Wi-Fi network, and 5G.
    • Designed and implemented a custom reporting infrastructure facilitating passing events and data between threads with a lock-free performance characteristic.
    • Developed lock-free data structures based on atomic operations suitable for execution in a real-time context.
    • Designed non-blocking algorithms for measuring playback performance and adjusting playback parameters in real-time.
    • Heavily optimized code performance using Instruments and a custom reporting infrastructure.
    Technologies: Swift, C, Xcode, Instruments, Git, iOS, Algorithms, Data Structures, Creative Problem Solving, Concurrent Programming, Event-driven Programming, Event-driven Architecture, Network Programming, Functional Programming, Grand Central Dispatch, Sockets, AVFoundation, Core Audio, AudioToolbox, JSON, UIKit, Auto Layout, Testing, Debugging
  • Software Engineer

    2008 - PRESENT
    Michal Pietras Apps
    • Developed popular and profitable iOS applications in-house.
    • Worked as a freelance software engineer for several clients on a contract basis, including startups, a university, and a well-established international company.
    Technologies: Storyboarding, Test-driven Development (TDD), Data Structures, Algorithms, SQLite, Core Graphics, Cocoa Touch, Git, Auto Layout, Instruments, Xcode, Swift, Objective-C, C++, C, FreeBSD, iOS, OS X
  • Contract Swift Software Engineer/Data Scientist

    2016 - 2016
    Firefly Experience
    • Ported various algorithms and data structures from C++ to Swift.
    • Designed and co-implemented a framework for processing users' historical raw location data into clean polylines visualizing past journeys.
    • Architected the framework as a pipeline with multiple stages of processing including filtering, detecting immobility, snapping close paths together, and hence creating a graph representation.
    • Developed a graph cache based on Core Data that allows efficient querying of any arbitrary area.
    • Created a highly optimized algorithm for converting part of a graph visible on the screen into polylines, including appending to existing polylines to avoid redrawing them, and removing ones that are no longer visible on the screen.
    Technologies: MapKit, Test-driven Development (TDD), Concurrent Programming, Data Structures, Algorithms, Mapbox, SQLite, Core Data, Core Motion, Core Location, Git, Instruments, Xcode, C++, Swift, iOS
  • Contract iOS Software Engineer

    2015 - 2015
    • Worked as a part of an Agile team on Travelex Money app, and delivered numerous features, improvements, and bug fixes.
    • Refactored the card number validation framework in order to get rid of hard-coded data and enable validation as user types by using the PCRE library for partially matching regexes.
    • Reimplemented a custom keyboard and implemented a custom text field based on UILabel. Both were designed to communicate in the iOS native way using UIKeyInput protocol in order to take advantage of all the features provided by the operating system, like support for Bluetooth keyboards etc.
    • Co-delivered functionality to purchase more than one currency at the time, the biggest feature since the app launch. It required changes throughout the code base, including changing the flow of the application and reimplementing many screens from scratch using MVVM and Auto Layout.
    Technologies: Perl, Model View Viewmodel (MVVM), JSON REST APIs, JSON, Cocoa Touch, Git, Auto Layout, Storyboarding, Xcode, Swift, Objective-C, iOS
  • Contract iOS Software Engineer

    2015 - 2015
    • Managed the full development lifecycle of Beamly and Beamly Bite apps, including building release versions and managing apps’ submissions to the App Store.
    • Resolved several issues in the legacy code and implemented a few minor features.
    • Involved in workshops regarding new features and products as well as building rapid prototypes.
    • Co-designed and co-implemented a generic and extensive framework based on NSURLSession for managing communication with JSON REST APIs.
    Technologies: JSON REST APIs, Unit Testing, JSON API, JSON, Cocoa Touch, Git, Auto Layout, Storyboarding, Xcode, Objective-C, iOS
  • iOS Software Engineer

    2013 - 2015
    Blinkbox Music
    • Worked as a part of a team with up to 8 iOS Software Engineers with strict coding guidelines and rigorous code review process.
    • Transitioned from Audio Queue Services to AVPlayer for playback of music and ads. Designed and implemented the Player Framework to seamlessly manage streaming and playing tracks from the encrypted cache, both locally and on external devices like Chromecast. Implemented playback from encrypted cache with probabilistic ahead loading using AVAssetResourceLoaderDelegate.
    • Refactored the cache encryption framework to allow decryption of arbitrary ranges within a track on the fly.
    • Co-redesigned and co-refactored the existing SQLite database system using FMDB framework. Fixed a number of bugs to ensure database consistency.
    • Prototyped and then implemented a number of features throughout the app, from API integration and data model creation to building UI according to specifications from designers.
    Technologies: AudioToolbox, Unit Testing, Concurrent Programming, JSON REST APIs, JSON, SQLite, Key-Value Observing (KVO), Grand Central Dispatch, Core Media, AVFoundation, Core Audio, Cocoa Touch, Git, Storyboarding, Instruments, Xcode, Objective-C, iOS
  • Contract Senior Software Engineer

    2009 - 2013
    Lublin University of Technology
    • Developed a suite of grid model data verification, conversion, and analysis tools.
    • Implemented various graph algorithms.
    Technologies: Unit Testing, Data Structures, Algorithms, SQLite, Standard Template Library (STL), C++, C


  • Lightweight Cloudlet Platform for Cyber Foraging by Mobile Devices

    University final year self-defined project intended to develop a platform that enables mobile applications to offload any arbitrary CPU-intense or long-running tasks to a nearby Cloudlet infrastructure. Aimed to enable computational-intense applications on resource-constrained mobile devices and enhance battery life. Developed a working prototype written in C, including client library with Objective-C wrapper for iOS and server running on FreeBSD.

  • Mixhalo

    Mixhalo is an iOS application that thousands of people have used in the audience to listen to high-quality audio using headphones during supported live events like concerts, festivals, sports events, and conferences. Past live events include Aerosmith’s Deuces Are Wild Las Vegas Residency at the Park Theater at Park MGM, Sting: My Songs Las Vegas Residency, Red Rocks Music Festival, and the Sacramento Kings NBA Games.

  • Travelex Money

    Travelex Money is an iOS application allowing to place orders for foreign currency from Travelex.

  • Jaka Sieć

    Jaka Sieć is an iOS application that allows users to check a carrier of every Polish mobile phone number. It was highly rated and downloaded more than 25K times in Poland alone.

  • Heart Counter

    Heart Counter is an iOS application that assists with manually measuring heart rate by keeping track of time and number of beats. The user only needs to tap a button whenever they detect a heartbeat. It features beautiful UI design and immersive animations.

  • Blinkbox Music

    Blinkbox Music was an iOS client for leading music streaming service in the United Kingdom. It featured ad-supported free radio as well as paid subscription allowing on-demand playback and creating playlists.

  • Firef.ly

    Firef.ly is an intelligent travel journal and guide for iOS.


  • Languages

    Swift, Objective-C, C, C++
  • Frameworks

    Core Location, Core Motion, Core Media, AudioToolbox, Core Data, Cocoa Touch, Core Foundation, UIKit, MapKit
  • Libraries/APIs

    JSON API, REST APIs, Core Audio, Sockets, Core Graphics, Standard Template Library (STL)
  • Tools

    Instruments, Auto Layout, Git, Xcode, Grand Central Dispatch, Vim Text Editor
  • Paradigms

    Unit Testing, Design Patterns, Event-driven Programming, Concurrent Programming, Object-oriented Design (OOD), Object-oriented Programming (OOP), Model View Controller (MVC), Testing, Event-driven Architecture, Model View Viewmodel (MVVM), Functional Programming, Test-driven Development (TDD), Distributed Programming
  • Platforms

    OS X, FreeBSD, iOS, WatchOS, tvOS, Mapbox
  • Storage

    JSON, SQLite
  • Other

    Algorithms, Network Programming, Debugging, Creative Problem Solving, Data Structures, AVFoundation, Unix Shell Scripting, JSON REST APIs


  • Bachelor of Engineering (Hons) Degree in Electronic & Software Engineering
    2010 - 2013
    University of Glasgow - Glasgow, Scotland, United Kingdom
  • Transfer to the University of Glasgow From a Bachelor of Engineering Degree in Computer Science
    2009 - 2010
    Warsaw University of Technology - Warsaw, Poland

To view more profiles

Join Toptal
Share it with others