# Rayane Kurrimboccus — Développeur iOS Senior

> Développeur iOS senior, esprit produit, augmenté par l'IA.

Je suis Rayane, développeur iOS avec 9 ans d'expérience sur des applications à très fort trafic et à la pointe de la sécurité : Oui.SNCF, Dashlane, et aujourd'hui Decathlon Hub, que je reconstruis from scratch en SwiftUI. iOS est mon métier, mais je ne m'arrête pas à l'app : je développe des services backend quand le produit en a besoin, j'écris les specs et je défends les décisions qui comptent pour les utilisateurs.

Je fais du SwiftUI en production depuis 2019. J'aime les architectures propres, l'accessibilité et une chaîne de release à laquelle personne n'a besoin de penser. Sur mon temps perso, je développe PokeRadar, un produit complet : apps iOS et Android, backend temps réel et site web.

- Website: https://rayanekurrimboccus.com/fr
- Email: contact@rayanekurrimboccus.com
- LinkedIn: https://www.linkedin.com/in/rayane-kurrimboccus
- GitHub: https://github.com/Rayane-K
- PDF: https://rayanekurrimboccus.com/fr/rayane-kurrimboccus-cv-developpeur-ios.pdf

## Ingénieur avant tout, esprit produit

Je travaille en ingénieur produit : je pars des utilisateurs et des données, j'écris la spec, je design en SwiftUI, et je dirige des agents IA jusqu'à l'implémentation et aux tests. Les agents écrivent presque tout le code ; les décisions, l'architecture et l'exigence de qualité restent les miennes.

- **Utilisateurs et données d’abord**: Les fonctionnalités partent des retours utilisateurs et des analytics : rétention, DAU/MAU, conversion, notes.
- **Des specs sans zone d’ombre**: Chaque spec est challengée jusqu’à ce que rien ne reste ouvert. Rien n’est construit avant validation du produit.
- **Les agents codent, j’architecture**: Claude Code et Codex écrivent presque tout le code. Je garde l’architecture propre et testée, avec des frontières imposées par le build.
- **Moteur de l’IA dans l’équipe**: Chez Decathlon, je pilote l’adoption de l’IA : documentation pour agents, skills partagés, guidelines de revue.

## Parcours

### Développeur iOS Senior — Decathlon (Decathlon Hub)
Janv. 2024 – Aujourd'hui

Reconstruction from scratch de Decathlon Hub, application à fort trafic pour l'équipement sportif connecté.

- Refonte complète de l'application, 100 % SwiftUI.
- Clean Architecture avec gestion explicite des dépendances, modularisée avec Tuist.
- Conception du moteur central du BFF (Backend for Frontend) qui transforme des milliers de requêtes, contenant chacune des milliers de données d'activité sportive, en graphiques dans l'app : calculs sur GPS, fréquence cardiaque, vitesse et allure.
- L'équipe maintient le BFF et ses contrats OpenAPI, avec du code généré vérifié à la compilation des deux côtés.
- Livraison d'une fonctionnalité de bout en bout, du backend aux apps iOS et Android.
- Développement d'un menu de debug complet dans l'app pour les développeurs et les testeurs.
- Bluetooth Low Energy avec plusieurs SDK de périphériques, dans un écosystème de bases locales et de plusieurs couches backend.
- Recherche des causes racines dans le code d'autres équipes et correction par pull request dans leurs dépôts, plutôt que d'attendre.
- Moteur de l'adoption de l'IA dans l'équipe : documentation pour les agents, skills partagés, guidelines de revue de code, sessions internes.
- Travail rapproché avec les product managers et les designers, avec un vrai poids sur les décisions produit et design.
- Accessibilité et animations traitées comme des fonctionnalités à part entière.
- CI/CD sur Bitrise et GitHub.

Stack: Swift, SwiftUI, Clean Architecture, Tuist, BLE, BFF, OpenAPI, Android, Bitrise, GitHub, Datadog, Amplitude, Copilot

### Développeur iOS Senior — Dashlane
Nov. 2019 – Janv. 2024 · Full remote · au quotidien avec New York et Lisbonne

Gestionnaire de mots de passe. iOS, macOS, extension Safari, extension AutoFill, watchOS et widgets, dans une équipe de 10 développeurs iOS, en anglais.

- Réécriture from scratch des écrans de l'application en SwiftUI et Combine (MVVM), puis refonte de toute la navigation en SwiftUI, dont le login en NavigationStack.
- Refonte de l'extension AutoFill (credential provider) en SwiftUI et synchronisation des données entre l'app et ses extensions via les App Groups.
- Livraison de l'application macOS avec Catalyst à partir de la codebase iOS.
- Conception de l'architecture modulaire en Swift Packages (couches Foundation, Core, Feature), présentée dans un article du blog Dashlane.
- Développement de « Import depuis LastPass », fonctionnalité stratégique après la fuite de données de LastPass.
- Migration vers la structured concurrency, de Carthage vers Swift Package Manager, et participation à la migration Core Data → GRDB.
- Migration de la CI de Stash vers GitLab CI avec fastlane, puis vers Xcode Cloud en 2023, avec tests UI et unitaires avant chaque release.
- Cryptographie symétrique et asymétrique dans une codebase critique et open source.

Stack: Swift, SwiftUI, Combine, async/await, MVVM, SPM, Catalyst, GRDB, GitLab CI, Xcode Cloud, fastlane

### Développeur iOS — Oui.SNCF (aujourd’hui SNCF Connect)
Avr. 2018 – Nov. 2019

L'application de réservation de trains de la SNCF, dans une équipe mobile d'environ 30 personnes.

- Nouvelles fonctionnalités en Swift : réservation de bus, Siri Shortcuts pour afficher son billet, améliorations de la recherche, refonte des cartes de fidélité.
- Modularisation de l'application en frameworks pour réduire les temps de compilation et de lancement, présentée dans un article Medium.
- Cohabitation de Swift avec le code legacy Objective-C, en monorepo avec une CI Jenkins.
- Proposition des guidelines de code style adoptées par l'équipe.

Stack: Swift, Objective-C, UIKit, MVVM, Jenkins

### Développeur iOS (agence) — Diji
Juil. 2017 – Nov. 2017

Plusieurs applications clients, dont une mission sur Medicapp.

- Publication de 3 applications sur l'App Store, en Swift et Objective-C.
- Installation d'un serveur Jenkins avec fastlane et AWS pour l'automatisation des tests iOS et Android.

Stack: Swift, Objective-C, Core Data, Jenkins, fastlane

### Enseignant — Supinfo International University
Nov. 2015 – Juin 2018

Cours de Swift, C, web et programmation orientée objet de la 1re à la 3e année, et organisation des examens.

Avant (2015–2016): Développeur web et iOS chez Asifiwe Ltd (stage au Royaume-Uni), 42Stores et Lok-iz. Front-end, back-end PHP et une première app Swift.

## Projets

### PokeRadar
iOS · Android · sortie 2025-09 · 4.8★ (100+ notes)

L'application compagnon de Pokémon GO : checklists d'événements, lobbies de raids en direct et un scanner d'IV qui fonctionne même dans la nature.

Les joueurs de Pokémon GO jonglent entre tableurs, infographies et bots Discord pour suivre les événements, les raids et leur collection. PokeRadar réunit tout dans une seule app native, simple et propre.

C'est un produit complet que je conçois, développe et opère seul : apps natives iOS et Android, backend temps réel sur Cloudflare, abonnements et une communauté sur Discord. Il évolue en continu depuis son lancement en septembre 2025, et c'est là que je pousse le plus loin mon workflow avec les agents IA.

- App SwiftUI avec une broadcast extension ReplayKit qui lit les statistiques des Pokémon à l'écran avec Vision, et un clavier personnalisé.
- App Android en Kotlin et Jetpack Compose, à parité fonctionnelle avec iOS.
- Salons de raids temps réel sur Cloudflare Durable Objects en WebSockets ; Workers, KV et R2 pour l'API et le contenu ; Supabase pour Postgres et l'authentification.
- Abonnements, notifications push, analytics et localisation en 10 langues.

Stack: SwiftUI, ReplayKit, Vision, StoreKit, Kotlin, Jetpack Compose, Cloudflare Workers, Durable Objects, Supabase

[App Store](https://apps.apple.com/app/id6748650971) · [Google Play](https://play.google.com/store/apps/details?id=com.pokeradar.app) · [Discord](https://discord.gg/rRcyCuTxqW)

### AntiSpam
iOS · France · sortie 2024-08 · 4.6★ (800+ notes)

Bloque plus de 12 millions de numéros de démarchage. On l'installe une fois, on n'y pense plus.

En France, le démarchage téléphonique passe par des plages de numéros connues, publiées par l'ARCEP. Bloctel, la liste d'opposition officielle, aide très peu.

AntiSpam charge ces plages directement dans iOS via une extension CallKit Call Directory : des millions de numéros bloqués ou identifiés, sans serveur et sans mise à jour à lancer. On peut aussi ajouter ses propres plages.

Stack: SwiftUI, CallKit, Call Directory extension, Core Data, RevenueCat

[App Store](https://apps.apple.com/fr/app/id6504856330) · [Article](https://medium.com/@rayane.kurrimboccus/dites-adieu-aux-appels-intempestifs-60614e8cd123)

### Volume Blocker
iOS · iPadOS · sortie 2024-01 · 4.3★ (300+ notes)

Limite le volume maximum d'un iPhone ou d'un iPad, pour que les enfants ne regardent plus leurs vidéos à fond.

iOS ne permet pas de plafonner le volume du haut-parleur. Volume Blocker impose un niveau maximum en arrière-plan, avec un code PIN pour le verrouiller et un minuteur.

Elle est traduite en 25 langues, ce qui m'a beaucoup appris sur l'App Store Optimization hors de France.

Stack: SwiftUI, MediaPlayer, RevenueCat

[App Store](https://apps.apple.com/app/id6475981399) · [Article](https://medium.com/@rayane.kurrimboccus/how-to-limit-maximum-volume-on-ipad-iphone-ecbf2a5c4700)

### Authenticator
iOS · watchOS · sortie 2024-06

Codes de double authentification, synchronisés sur iCloud avec un chiffrement de bout en bout.

Quatre ans chez Dashlane, appliqués à ma propre app de sécurité. Chaque token est chiffré sur l'appareil avec CryptoKit avant d'arriver sur iCloud : même moi, je ne peux pas le lire.

Elle propose le verrouillage Face ID, des widgets, une app Apple Watch et l'import depuis Google Authenticator. Le moteur OTP est un Swift package à part, testé.

Stack: SwiftUI, CryptoKit, Core Data, WidgetKit, watchOS, App Intents

[App Store](https://apps.apple.com/app/id6502824774)

### QR Code Generator
iOS · sortie 2024-10

Des QR codes stylés pour liens, contacts, Wi-Fi et réseaux sociaux, avec templates, dégradés et votre logo.

Un terrain de jeu côté design : des centaines de templates, couleurs, dégradés, images et logos, avec un contrôle total sur chaque élément du code, et un scanner avec historique.

Stack: SwiftUI, QRCode, PhotosUI, RevenueCat

[App Store](https://apps.apple.com/app/id6480368478)

### QuizClash (2023 – 2024)

Un jeu de quiz multijoueur, mon premier produit complet : un serveur Swift avec Vapor en microservices, Docker Compose avec PostgreSQL et Nginx, une app SwiftUI et son site. Arrêté.

## Articles

- [Dites adieu aux appels intempestifs](https://medium.com/@rayane.kurrimboccus/dites-adieu-aux-appels-intempestifs-60614e8cd123) — Medium, 2024-07. Pourquoi Bloctel ne suffit pas contre le démarchage, et comment AntiSpam bloque toutes les plages de numéros connues d’un coup.
- [How to limit maximum volume on iPad / iPhone](https://medium.com/@rayane.kurrimboccus/how-to-limit-maximum-volume-on-ipad-iphone-ecbf2a5c4700) — Medium, 2024-05. Plafonner le volume du haut-parleur sur iOS pour les enfants, et l’app que j’ai construite pour ça.
- [One Language, Two Jobs: Building an iOS App & Server Using Swift](https://blog.stackademic.com/one-language-two-jobs-building-an-ios-app-server-using-swift-d7a2dcf4537a) — Stackademic, 2023-11. Construire l’app iOS et son backend en Swift avec Vapor, à partir de mon jeu QuizClash.
- [How to Organize Your Swift Packages](https://www.dashlane.com/blog/organize-swift-packages) — Dashlane blog, 2023-03. Comment Dashlane découpe ses apps en Swift packages par couches : Foundation, Core et Feature.
- [CocoaHeads meetup talk](https://www.linkedin.com/posts/rayane-kurrimboccus_last-week-at-julys-cocoaheads-meetup-which-share-6556438784802603009-5mbh) — CocoaHeads, 2019-07. Une présentation au meetup CocoaHeads de juillet 2019.
- [Living the WWDC 2019](https://medium.com/@rayane.kurrimboccus/living-the-wwdc-2019-d38acb0b8252) — Medium, 2019-06. La WWDC 2019, l’année de l’annonce de SwiftUI.
- [How to create bridges between frameworks in an iOS app](https://medium.com/swlh/how-to-create-bridges-between-frameworks-in-an-ios-app-23e1981c4988) — The Startup, 2019-04. Faire communiquer des modules sans qu’ils dépendent les uns des autres.
- [Common problems when modularizing an iOS application](https://medium.com/@rayane.kurrimboccus/common-problems-when-modularizing-an-ios-application-92976f94462e) — Medium, 2019-03. Les pièges rencontrés en découpant une grosse app en frameworks, et comment les éviter.
- [Modularize an iOS application](https://medium.com/swlh/modularize-an-ios-application-919b30e41e3c) — The Startup, 2019-03. Découper une grosse app en frameworks pour réduire les temps de compilation et de lancement, d’après mon travail sur Oui.SNCF.

## Compétences

- **Swift & UI**: Swift, SwiftUI, Combine, async/await, Swift macros, UIKit, Objective-C, Accessibility, Animations
- **Architecture**: Clean Architecture, MVVM, Modularization, Swift Package Manager, Tuist, Dependency injection
- **Plateformes Apple**: iOS, macOS / Catalyst, watchOS, Widgets, App extensions, BLE, StoreKit
- **Data & backend**: GRDB / SQLite, Core Data, BFF, OpenAPI, Cloudflare Workers, Supabase, Vapor
- **Produit & data**: User research, Specs, Google Analytics, Amplitude, Datadog, ASO
- **Livraison**: Unit & UI tests, Xcode Cloud, Bitrise, GitLab CI, GitHub, fastlane, Feature flags, App Store release
- **Outils IA**: Claude Code, Codex, Copilot, MCP, Agent skills, Test-first agents
- **Aussi**: Kotlin, Jetpack Compose, TypeScript

## Formation

- Master of Science, ingénieur informatique — Supinfo International University (2015 – 2018)
- Diplôme d'analyste programmeur — Exia.Cesi (2013 – 2015)

## Langues

Français (langue maternelle), Anglais (courant, C1)
