The algorithm powering iHarmony

Problem I wrote the first version of iHarmony [https://apps.apple.com/gb/app/iharmony/id292413210] in 2008. It was the very first iOS app I gave birth to, combining my passion for music and programming. I remember buying an iPhone and my first Mac with the precise purpose of…

The iOS internationalization basics I keep forgetting

Localizations, locales, timezones, date and currency formatting... it's shocking how easy is to forget how they work and how to use them correctly. In this article, I try to summarize the bare minimum one needs to know to add internationalization support to an iOS app.…

Modular iOS Architecture @ Just Eat

The journey we took to restructure our mobile apps towards a modular architecture. Originally published on the Just Eat Engineering Blog. Overview Modular mobile architectures have been a hot topic over the past 2 years, counting a plethora of articles and conference talks. Almost every big company promoted and discussed…

Lessons learned from handling JWT on mobile

> Implementing Authorization on mobile can be tricky. Here are some recommendations to avoid common issues. Originally published on the Just Eat Engineering Blog [https://tech.just-eat.com/2019/12/04/lessons-learned-from-handling-jwt-on-mobile/] . Overview Modern mobile apps are more complicated than they used to be back in the early days and…

Deep Linking at Scale on iOS

> How the iOS team at Just Eat built a scalable architecture to support navigation and deep linking. Originally published on the Just Eat Engineering Blog [https://tech.just-eat.com/2019/04/16/deep-linking-at-scale-on-ios/]. In this article, we propose an architecture to implement a scalable solution to Deep Linking on…

Principal Manifesto

Edit: in 2020, Will Larson published Staff Engineer, the first book that properly reasons about Staff+ roles. I cannot recommend the book, the articles, and the podcast enough. You can find all about them at staffeng.com. To extend the tech career ladder, a number of roles have been introduced…

The easiest State Machine in Swift

Here's another article of the serie "The easiest <something>". Previous ones on Core Data (The easiest Core Data [https://albertodebortoli.com/2016/08/05/the-easiest-core-data/]) and Future and Promises (The easiest promises in Swift [https://albertodebortoli.com/2018/02/12/the-easiest-promises-in-swift/]). It was a…