Some call us old school, some call us Objective-C experts - and we’re not easy to find. Now that Swift has matured enough to be the main language for iOS programming, new programmers usually don’t have enough experience with Objective-C, and they prefer to work in Swift.

Without disrupting your feature development, we will:

  • Refactor your Objective-C codebase to Swift
  • Update your APIs so they feel native to Swift and use Swift’s powerful type-system features
  • Add tests and ensure the updated Swift version can be easily maintained

Case Study

Refactoring Wikipedia’s iOS App

This case study describes the refactoring of Wikipedia's WMFLocationManager class from Objective-C to Swift. The Wikipedia native iOS app project was launched in 2013. Almost 7 years and 30,000 commits later, the project consists of more than 180,000 lines of code in various languages. The ratio between Swift and Objective-C code is roughly 2:1.

How It Works

// Exploration (1-3 weeks)

We approach each project by first conducting a detailed exploration and planning phase. This exploration and planning phase allows our teams to connect, become familiar with each other, and determine what changes need to be done.

We provide this for free in order to establish a collaborative partnership with realistic expectations.

Free of charge
Together with your developers, we explore your codebase and identify your current pain-points.

Example Delivery
Free of charge
Our team prepares examples of what the finalized codebase will look like and we work with your team to establish clear expectations. It is normal to have several iterations in order to get closer to the desired result.

Free of charge
Depending on the current conditions of the codebase and the deliverables established, we divide the total project into subprojects (6-12 weeks) with individual delivery deadlines. It’s important to take small, meticulous steps during refactoring to ensure new feature development and product release dates remain on track.

// Delivery (6-12 weeks)


We operate in teams of 3 senior iOS engineers. We will make changes to your codebase via small, easily reviewable pull requests against your git repository.


This step can be repeated multiple times, depending on the number of subprojects we identified in the Planning phase. We recommend taking several-week breaks in between each subproject to allow your developers to become familiar with the new codebase.

Your codebase is now in perfect condition and your developers are happy. But that doesn’t mean we have to stop co-operating.

// Ongoing Cooperation


We recommend scheduling regular check-ups to ensure the new changes implemented to your codebase don’t create technical debt and the codebase remains healthy.


We all know that the last 10 % of a project takes the same time as the first 90%. Don’t waste your developers time focusing on the “boring” aspects of building new features. Let our team add the missing tests and handle all the edge cases so you can focus on the features that should remain in-house.

Whether you have technical debt delaying key features or your developers need a boost adding missing tests or handling edge cases, allow us to step in and partner with you to keep your product moving forward.

Ready To Discuss Your App?

Talk to our engineers about your project requirements.

Send us a message directly to or use the form.

    By clicking the button I agree with the collection and processing of my personal data as described in the Privacy policy.