Ricardo Santos

I build iOS apps and SDKs, currently the ones behind airport self-service and automated border control.

Ricardo Santos
Senior iOS Developer & Architect · Lisbon, Portugal · hybrid (1 to 2 days a week on site)
14+ years building production iOS software, from Objective-C to Swift, SwiftUI, Combine and async/await. Currently architecting Mobile ID SDKs at Amadeus: on-device document scanning and biometric identity capture, used in airport self-service and automated border control systems by airlines, airports and border authorities worldwide.

I also build with AI: Aurora, my own terminal coding agent, and a self-hosted lab running local LLMs, and I write about making coding agents reliable.

Open to senior iOS / SDK architecture roles at product companies. Consulting considered.
Get in touch · Download CV (PDF)


1/7 Experience

Amadeus, Apr 2024 to Present

Senior iOS Engineer / SDK Architect, Mobile ID team.

Architecture-level engineer across multiple Swift Package SDK repos (document scanning, on-device models, supporting libraries) consumed by internal teams and external integrators. Standardized cross-repo conventions and wrote the engineering docs that cut integration friction for consuming teams.
Swift Package Manager, SDK Architecture, On-device ML

Excell Communications, Deep Tracker, Jun 2023 to Mar 2024

Senior iOS Developer / iOS Team Leader.

Designed and maintained production iOS applications, focused on performance, testability and long-term maintainability. Drove technical decisions and standards across the team.
UIKit, SwiftUI, Core Data, CloudKit, MVVM + TCA

Deloitte Digital, Hello Smart, Mar 2021 to Jun 2023

Senior iOS Developer / iOS Team Leader.

Led the iOS team for the first public release of the Hello Smart app (Smart electric vehicles), from inception to launch: technical direction, delivery planning and sprint execution.
UIKit, SwiftUI, MVVM + TCA, Bitrise, SonarQube

Bliss Applications, moey!, Sep 2019 to Mar 2021

iOS Tech Lead / iOS Team Leader.

Tech lead for the iOS team on a production mobile banking application: estimations, sprint planning and code review in a regulated, quality-critical environment.
UIKit, VIP Architecture, Azure DevOps

InnoWave Technologies, Apr 2016 to Sep 2019

Mobile Team Leader & Scrum Master, R&D (Aug 2017 to Sep 2019); Senior iOS Consultant (Apr 2016 to Aug 2017).

R&D on automated testing robots for the iOS ecosystem; then led research, architecture and implementation for internal and client-facing mobile products, including CityPoints (Cascais) and Vodafone GNE&D Mate.
World Summit Awards 2018: Best Government/Citizen Engagement App (press: Cascais, Portugal Reports)

TFV, Sistemas Informáticos, Oct 2012 to Mar 2016

Principal Mobile Software Architect.

Planning, coordination, recruitment and implementation of mobile applications (mainly iOS, also Android); trained teams on Objective-C/Cocoa. Shipped Notes4Coach and Notes4Fans, which reached the top of both the free and paid App Store charts in Portugal (July 2015).

AGAP2, Aug 2010 to Oct 2012

IT Consultant L3 / Cocoa & Objective-C coach.

Shipped iOS apps for clients (including InoMobile) and delivered ~150 hours of Objective-C / Cocoa training to engineering teams, alongside .NET projects for enterprise clients.

Methodus, Aug 2009 to Aug 2010

IT Consultant.

Consultant on ActionFlow.com, a library of ready-to-run business process templates.


2/7 Education

MSt, Computer Science, Universidade da Beira Interior, Computing and Intelligent Systems, 2005 to 2009. Research in face/iris recognition (published, incl. the UBIRIS.v2 database paper).


3/7 Skills

Swift, SwiftUI, UIKit, Combine, async/await, MVVM, TCA, VIP, Swift Package Manager, SDK architecture, CI/CD (Bitrise, Azure DevOps), SwiftLint/SwiftFormat, Scrum Master (CSM), SAFe.
AI-assisted engineering: coding agents (Claude Code, my own Aurora), LLM tooling, local LLM inference (llama.cpp).


4/7 Languages

Portuguese (native) · English (professional working) · French and Spanish (elementary).


5/7 What people say

“As an iOS Lead, Ricardo consistently pushes the boundaries of quality and efficiency, always striving for the best possible outcomes. His ability to collaborate seamlessly with both backend developers and business analysts sets him apart. […] His solution-focused mindset and determination make him an invaluable asset to any team.”

Pedro Venâncio, managed Ricardo directly (2024)

“Besides being an iOS expert, Ricardo shows a wide set of technical skills that enable him to rapidly expose his work to the developers team. His resilience to failure, […] hard-work and effective learning heuristics enable Ricardo to tackle complex challenges, in a very autonomous way.”

João Pedro Salada, managed Ricardo directly in R&D (2016)

All recommendations on LinkedIn


6/7 Publications


7/7 Apps

Hello Smart, Deloitte Digital
Hello Smart

moey!, mobile banking at Bliss Applications
moey!

Hobby & freelance: 15+ apps shipped to the App Store (2015 to 2019, since retired), among them Treble Clef, Crypto Pal, Ireland Trains, A Sir Says, Sort It, Color Tap and Bias Calc.
Hobby apps

1/3 Aurora, a coding agent

Aurora works with Claude and other models through OpenRouter, or with a local llama.cpp or Ollama server, all from one model picker. Its approval gate lets you steer a change instead of only denying it, and it detects secrets automatically. The full-screen TUI keeps a checkpoint for every approved change, so you can rewind.

About Aurora · GitHub


2/3 Hit Happens, an open-source iOS app

A personal life-event tracker: define trackers (“went for a run”, “had a coffee”), tap them when it happens, and browse your history as a list, a calendar heat map or a map. Its icon is the hexagon logo in this site's tab.

It is also a public example of how I build iOS apps: SwiftUI + MVVM on a Clean Architecture split into Domain, Core, DesignSystem and Common modules, dependency injection for testability, unit and UI tests, only three third-party dependencies, CloudKit sync, and XcodeGen, SwiftLint, SwiftFormat and Bitrise CI. The README explains the reasoning for each choice.

Hit Happens onboarding screens: favourite trackers with counters, the tracker list, a calendar of logged events and a map of events by region

Source and architecture write-up on GitHub


3/3 Home lab

A small self-hosted setup I use to learn and test things: a mini PC with an external 32 GB GPU for running local LLMs, about 25 self-hosted apps, my own git server (Forgejo), and AI agents that help me run it. This site is served from it.

Contribution graph from my self-hosted Forgejo: 1,996 contributions in the last 12 months

Writing

All articles on Medium


“Every line of code represents an ethical and moral decision.”