F1RST: A guide to the Caribbean Islands

Mobile App Development

F1RST: A guide to the Caribbean Islands

The Client

F1RST is a mobile app for iOS and Android used to solve everyday problems the consumers and visitors face in the Caribbean. It is a rich local search guide that comes alive thanks to user photos, reviews, check-ins and rewards.

F1RST screen

The challenge: dealing with the legacy

We had to deal with legacy. The code we inherited and it had not been prepared for fast development. It was a real challenge to improve the quality of the code and, at the same time, deliver the new features. The complete rewrite was a no go as the app was already too advanced when it comes to the development process. On the other hand, continuing without code improvements would mean slowing down the development in the future.

F1RST legacy
Architecture principles behind the code we inherited & Desired software architecture.

The solution: an incremental rewrite

The approach we took was to implement an incremental rewrite. When adding new functionalities, we were writing them in the new architecture that we designed. If there were minor changes in the old one, we would do them there. If the changes were bigger, we would rewrite the feature using the new architecture. Features in both architectures would be linked with each other, as if they were two apps aware of each other, using common data store. This approach allowed us to maintain peace and invest in the quality of the code.

F1RST rewrite
Incremental rewrite.
turn