# Alberto De Bortoli > Principal Software Engineer @ Just Eat Takeaway, London. Public Ghost content for AI and LLM tooling. Use `/llms-full.txt` for consolidated page and post context. Append `.md` to any post or page URL to get the content in Markdown (for example, `/example-post.md`). ## Pages - [About me](https://albertodebortoli.com/about-me.md) - Contacts * LinkedIn * Bluesky * X / Twitter * GitHub * stackoverflow Short Professional Curriculum Vitae I currently work at Just Eat Takeaway in London as Principal Software Engineer / Technical iOS Lead where, since the beginning of 2015, I have been focusing on the consumer iOS apps. I've establ… - [Live dates](https://albertodebortoli.com/live-dates.md) - Since May 2010 I decided to take a break from the frenzy of the lives, to better devote to other interests. Actually deciding to quit world of music (Centrica and Absolute5), no more live concerts with me will be performed. Live Dates Archive * Saturday 12-Feb-11 Start: 22.00 Presentazione disco ‘M… - [Music Sheets](https://albertodebortoli.com/music-sheets.md) - The flight of the bumblebee and other classics for bass by Alberto De Bortoli This book is about 5 famous piece of classical music arranged for 6 and 4 string bass. The authors are Rimsky-Korsakov, J.S. Bach, W.A. Mozart, L.V. Beethoven, N. Paganini. Date: august 2003 Download (PDF) Aeolian by Albe… - [Talks](https://albertodebortoli.com/talks.md) - Slides * Scalable Continuous Integration for iOS (SwiftLeeds 2024) * Scalable Continuous Integration for iOS (Swift Heroes 2024) * Scalable Modular iOS Architecture @ Just Eat (Swift Heroes 2020) * Scalable Modulat iOS Architecture @ Just Eat (Mobile London 2020) * Music Information Retrieval * Cro… - [Videos and Discography](https://albertodebortoli.com/videos-discography.md) - Centrica – Centrica (2008) Musea Records Recorded at New Frontiers Recording Studio 1. Centrica Experience [8.32] 2. Secret Vision [7.37] 3. DNA part.1 [6.21] 4. DNA part.2 [8.22] 5. Reality and Illusion [9.26] 6. Dulcedo [3.56] 7. Eternal Dimension [8.21] Andrea Pavanello (keyboards) Giorgio Rovat… ## Posts - [Revisiting the JET iOS Modular Architecture in 2026](https://albertodebortoli.com/2026/07/15/revisiting-the-jet-ios-modular-architecture-in-2026.md) - Revisiting the Modular iOS Architecture @ Just Eat from 2019 addressing previous limitations and refining the vocabulary. - [Luca: A Decentralized Tool and Skills Manager for the AI-Augmented Developer Workflow](https://albertodebortoli.com/2026/04/13/luca-a-decentralized-tool-and-skills-manager-for-the-ai-augmented-developer-workflow.md) - Introducing Luca. Luca manages tools, agentic skills and tasks on macOS and Linux. https://luca.tools/ - [Universal Links At Scale: The Challenges Nobody Talks About](https://albertodebortoli.com/2026/01/15/universal-links-at-scale-the-challenges-nobody-talks-about.md) - A deep dive into the practical challenges of implementing, testing, and maintaining Universal Links at scale - [How to Implement a Decentralised CLI Tool Manager](https://albertodebortoli.com/2025/07/13/how-to-implement-a-decentralised-cli-tool-manager.md) - A design to implement a simple, generic and decentralised manager for CLI tools from the perspective of a Swift dev. - [How to setup a Swift Package Registry in Artifactory](https://albertodebortoli.com/2025/06/06/how-to-setup-a-swift-package-registry-in-artifactory.md) - A quick guide to setting up a Swift Package Registry with Artifactory to speed up builds and streamline dependency management. - [Scalable Continuous Integration for iOS](https://albertodebortoli.com/2024/01/03/scalable-continuous-integration-for-ios.md) - How Just Eat Takeaway.com leverage AWS, Packer, Terraform and GitHub Actions to manage a CI stack of macOS runners. - [The idea of a Fastlane replacement](https://albertodebortoli.com/2023/10/29/the-idea-of-a-fastlane-replacement.md) - Prelude Fastlane is widely used by iOS teams all around the world. It became the standard de facto to automate common tasks such as building apps, running tests, and uploading builds to App Store Connect. Fastlane has been recently moved under the Mobile Native Foundation which is amazing as Google… - [CloudWatch dashboards and alarms on Mac instances](https://albertodebortoli.com/2023/08/06/cloudwatch-dashboards-and-alarms-on-mac-instances.md) - CloudWatch is great for observing and monitoring resources and applications on AWS, on premises, and on other clouds. While it's trivial to have the agent running on Linux, it's a bit more involved for mac instances (which are commonly used as CI workers). The support was announced in January 2021… - [Easy connection to AWS Mac instances with EC2macConnector](https://albertodebortoli.com/2023/07/05/easy-connection-to-aws-mac-instances-with-ec2macconnector.md) - Overview Amazon Web Services (AWS) provides EC2 Mac instances commonly used as CI workers. Configuring them can be either a manual or an automated process, depending on the DevOps and Platform Engineering experience in your company. No matter what process you adopt, it is sometimes useful to log in… - [Toggles: the easiest feature flagging in Swift](https://albertodebortoli.com/2023/03/26/toggles.md) - I previously wrote about JustTweak here. It's the feature flagging mechanism we've been using at Just Eat Takeaway.com to power the iOS consumer apps since 2017. It's proved to be very stable and powerful and it has evolved over time. Friends have heard me promoting it vehemently and some have inte… - [The Continuous Integration system used by the mobile teams](https://albertodebortoli.com/2021/07/23/the-continuous-integration-system-used-by-the-mobile-teams.md) - In this article, we’ll discuss the way our mobile teams have evolved the Continuous Integration (CI) stack over the recent years. - [iOS Monorepo & CI Pipelines](https://albertodebortoli.com/2021/06/16/ios-monorepo-ci-pipelines.md) - We have presented our modular iOS architecture in a previous article and I gave a talk at Swift Heroes 2020 about it. In this article, we’ll analyse the challenges we faced to have the modular architecture integrated with our CI pipelines and the reasoning behind migrating to a monorepo. - [The algorithm powering iHarmony](https://albertodebortoli.com/2020/05/24/the-algorithm-powering-iharmony.md) - Problem I wrote the first version of iHarmony 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 jumping on the apps train at a time when it wasn't clear if the apps were th… - [The iOS internationalization basics I keep forgetting](https://albertodebortoli.com/2020/01/06/the-ios-internationalization-basics-i-keep-forgetting.md) - 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](https://albertodebortoli.com/2019/12/19/modular-ios-architecture-at-just-eat.md) - 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… - [Lessons learned from handling JWT on mobile](https://albertodebortoli.com/2019/12/04/recommendations-on-handling-jwt-on-mobile.md) - > 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 th… - [A Smart Feature Flagging System for iOS](https://albertodebortoli.com/2019/11/26/a-smart-feature-flagging-system-for-ios.md) - At Just Eat we have experimentation and feature flagging at our heart and we've developed a component, named JustTweak, to make things easier on iOS. - [Deep Linking at Scale on iOS](https://albertodebortoli.com/2019/04/16/deep-linking-at-scale-on-ios.md) - > 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 soluti… - [Principal Manifesto](https://albertodebortoli.com/2019/04/02/principal-manifesto.md) - 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 in t… - [The easiest State Machine in Swift](https://albertodebortoli.com/2018/12/16/the-easiest-state-machine-in-swift.md) - Here's another article of the serie "The easiest ". 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-… - [The template for View Controller unit testing](https://albertodebortoli.com/2018/03/12/easy-view-controller-unit-testing.md) - Hot topics like this one, testing view controllers, often come back from time to time and get some updates. It probably all started with Testing View Controllers [https://www.objc.io/issues/1-view-controllers/testing-view-controllers/] by Daniel Eggert back in 2013. Now quite out-dated as in Object… - [The easiest Promises in Swift](https://albertodebortoli.com/2018/02/12/the-easiest-promises-in-swift.md) - Here's another article of the serie "The easiest ". Previous one on Core Data here -> The easiest Core Data [https://albertodebortoli.com/2016/08/05/the-easiest-core-data/]. Swift 5 will most likely include async/await, which will be a revolution for handling concurrency at language leve… - [The recipe for Singletons removal](https://albertodebortoli.com/2017/03/15/the-recipe-for-singletons-removal.md) - We all went through it, am I right? You join a new company, you jump on the new codebase, you find lots of singletons, get used to them, become friend with them, but after some time you realize it's time to terminate the friendship. For a greater good. And for better testing, of course. And for pro… - [How to abstract your persistence layer on iOS with JustPersist](https://albertodebortoli.com/2017/03/02/how-to-abstract-your-persistence-layer-and-migrate-to-another-one-on-ios-with-justpersist.md) - The original post is published on the Just Eat tech blog at this URL [http://tech.just-eat.com/2017/03/02/how-to-abstract-your-persistence-layer-and-migrate-to-another-one-on-ios-with-justpersist/] . In this blog post we introduce a solution to deal with data persistence. We developed it for the Ju… - [A better local and remote logging on iOS with JustLog](https://albertodebortoli.com/2017/01/18/a-better-local-and-remote-logging-on-ios-with-justlog.md) - The original post is published on the Just Eat tech blog at this URL [http://tech.just-eat.com/2017/01/18/a-better-local-and-remote-logging-on-ios-with-justlog/] . In this blog post we introduce the solution for local and remote logging we developed for the Just Eat iOS app. It’s named JustLog and… - [The easiest Core Data](https://albertodebortoli.com/2016/08/05/the-easiest-core-data.md) - Over the past months I spent a lot of time on Core Data, I had to deal with a project with a lot of legacy code, Core Data horros and multithreading violations. Core Data is hard, at times it can be frustrating and confusing. For this reasons, I decided to come up with a refined solution for a supe… - [Offline UI testing on iOS with stubs](https://albertodebortoli.com/2015/11/23/offline-ui-testing-on-ios-with-stubs.md) - The original post is published on the Just Eat tech blog at this URL [http://tech.just-eat.com/2015/11/23/offline-ui-testing-on-ios-with-stubs/]. Here at Just Eat, while we have always used stubs in Unit Tests, we tested against production public APIs for our functional and UI Testing. This always… - [A mind-blowing Impression Tracking engine for iOS](https://albertodebortoli.com/2015/08/15/a-mind-blowing-impression-tracking-engine-for-ios.md) - In one of my previous companies, it happened from time to time I had the opportunity to do some R&D of experimental ideas. What came out once, was, in my opinion, pretty neat. It never saw the light in production and I don't want this amount of work to be forgotten, so here is, after years, a still… - [The journey of Apple Pay at Just Eat](https://albertodebortoli.com/2015/07/14/the-journey-of-apple-pay-at-just-eat.md) - The original post is published on the Just Eat tech blog at this URL [http://tech.just-eat.com/2015/07/14/the-journey-of-apple-pay-at-just-eat/]. Introduction Apple Pay has recently been released in UK and at JUST EAT we worked on the integration in the iOS app to better support all of our customer… - [Notes on the Developer Portal. For Dummies.](https://albertodebortoli.com/2015/03/22/notes-on-the-developer-portal-for-dummies.md) - Let's make it clear. This is a post for dummies. There are some others tutorials online but I thought I could write something better focusing on the right details rather than wasting time on a brainless walkthrough. Well… here are my 50¢. It's since 2008 that I work with the iOS platform and still,… - [From the Eyes of an iOS Dev at JUST EAT](https://albertodebortoli.com/2015/03/15/from-the-eyes-of-an-ios-dev-at-just-eat.md) - It has been almost 6 months since my last blog post. Things have changed quite a lot since then. Six months ago I was still excited about my travel to San Francisco for the WWDC 2014, my girlfriend still had to move from Italy to London with me and definitely I wasn't planning to switch job again a… - [Working on tasks with an eye on open source contributions](https://albertodebortoli.com/2014/09/28/working-on-tasks-with-an-eye-on-open-source-contributions.md) - Have you ever realized that developers are never happy with the legacy code? The definition of "legacy code" may vary: * code inherited from the previous developers of your company * code that doesn't have test suites * code that is older that 10 minutes (...) We all rarely find good code when join… - [Flow Controllers on iOS for a better navigation control](https://albertodebortoli.com/2014/09/03/flow-controllers-on-ios-for-a-better-navigation-control.md) - Since I'm in London conversations with iOS developers have reached high levels with no doubts. I love to discuss with friends and iOS devs about new ways to improve our coding. Often my best practices are very appreciated among them and a bunch of devs start applying day-by-day what they learnt. "A… - [The solution to FTP on iOS: GoldRaccoon](https://albertodebortoli.com/2014/08/01/the-solution-to-ftp-on-ios.md) - GoldRaccoon [http://albertodebortoli.github.io/GoldRaccoon/] is the iOS component to connect to a FTP service and do the following: * Download a file * Upload a file * Delete a file * Create a directory * Delete a directory * List a directory Why another Raccoon? First, because the humanity needs i… - [Objective-C, Zen and some satisfaction](https://albertodebortoli.com/2014/07/11/objective-c-zen-and-some-satisfaction.md) - I'm very proud to announce my last work with Luca Bernardi [http://twitter.com/luka_bernardi] "Zen and the Art of the Objective-C Craftsmanship" Available on GitHub [https://github.com/objc-zen/objc-zen-book]. We started writing this book on November 2013. The initial goal was to provide guidelines… - [Road to circular progress pull to refresh at Beamly](https://albertodebortoli.com/2014/06/30/road-to-circular-progress-pull-to-refresh-at-beamly.md) - Pull to refresh, this friend of ours The Pull to refresh became one of the most popular concepts used in mobile iOS apps. Loren Brichter [https://twitter.com/lorenb], the author of Tweetie for iOS introduced it for the first time in 2011 and it stood the test of time. Several implementations of the… - [Asynchronous message passing with Actors in Objective-C](https://albertodebortoli.com/2014/05/20/asynchronous-message-passing-with-actors-in-objective-c.md) - Actors, these strangers Although we are all in love with Objective-C, the power of a language itself is given by its inner features. Languages like Ada [https://www.adacore.com/adaanswers/about/ada] have a built-in concurrency model, while Objective-C needs external libraries (let's say libdispatch… - [An Aspect Oriented Programming approach to iOS Analytics](https://albertodebortoli.com/2014/03/25/an-aspect-oriented-programming-approach-to-ios-analytics.md) - [Update 09/06/2014] On May 2014 Peter Steinberger [https://twitter.com/steipete] released Aspects [https://github.com/steipete/Aspects] inspired (a little :-) by this article and Orta [https://twitter.com/orta] and Ash Furrow [https://twitter.com/ashfurrow] improved ARAnalytics [https://github.com/… - [CocoaPods: working with internal pods without hassle](https://albertodebortoli.com/2014/03/11/cocoapods-working-with-internal-pods-without-hassle.md) - CocoaPods [http://cocoapods.org] is cool. I was honoured to have a chat with Fabio Pelosin [http://twitter.com/fabiopelosin], the main contributor, at the NSLondon [http://www.meetup.com/NSLondon/] meetup some time ago and see how much passion those guys put in this project. I was one of the first… - [Objective-C blocks caveat](https://albertodebortoli.com/2013/08/03/objective-c-blocks-caveat.md) - I like blocks. I really do. It's been at least two years now I've been using them and I still make syntax mistakes, but I like them. Recently I had a long discussion with my colleagues and friends about the use of self inside blocks. I can hear [you][8] saying: "C'mon dude, it's sooo straightforwar… - [Objective-C blocks under the hood](https://albertodebortoli.com/2013/04/21/objective-c-blocks-under-the-hood.md) - Recently I was asked to describe the 'under the hood' memory management of variable and objects in blocks. I think that in 2013 almost every iOS dev knows the practical usage and effect of putting the __block keyword before the declaration of a variable, but maybe what's happening for real is not s… - [Sartoria Piquadro iPad app](https://albertodebortoli.com/2013/03/21/sartoria-piquadro-ipad-app.md) - Sartoria [http://sartoria.piquadro.com/it/] is a cool and important project for Piquadro, the famous fashion brand. I'm the sole developer of the official iPad app used in the Piquadro stores around the world. The app has been developed @ H-umus [http://h-umus.it] during 2011 with minor updated onc… - [iOS Lab @ Digital Accademia](https://albertodebortoli.com/2012/06/18/ios-lab-digital-accademia.md) - I’m very proud and excited to hold a course on Object Orientation programming and iOS developing @ Digital Accademia. 11 lessons starting on June 20th 2012. Details @ digitalaccademia.com [http://www.digitalaccademia.com/labs/] UPDATE The course is finished and me, Enrico Zeffiro and Alessandro Ben… - [H-Farm, H-umus and cool fashion models](https://albertodebortoli.com/2011/12/10/h-farm-h-umus-and-cool-fashion-models.md) - I started working for a startup company in H-Farm, called H-umus. H-Farm is a Venture Incubator with the mission to accelerate the development of Internet startups via a combination of seed investment and incubation services. Some kind of Italian Silicon Valley (1 and 2). In H-umus we develop iOS a… ## Optional - [RSS Feed](https://albertodebortoli.com/rss/) - [Sitemap](https://albertodebortoli.com/sitemap.xml) - [Full content of pages and posts](https://albertodebortoli.com/llms-full.txt)