# Rayane Kurrimboccus — Senior iOS Engineer

> Senior iOS engineer with a product mindset, amplified by AI.

I'm Rayane, an iOS engineer with 9 years of experience on high-traffic and security-critical apps: Oui.SNCF, Dashlane, and now Decathlon Hub, which I'm rebuilding from scratch in SwiftUI. iOS is my craft, but I don't stop at the app: I build backend services when the product needs them, write the specs and push for the decisions that matter to users.

I've shipped SwiftUI in production since 2019. I care about clean architecture, accessibility and a release pipeline nobody has to think about. On my own time I build PokeRadar, a complete product with iOS and Android apps, a realtime backend and a website.

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

## Engineer first, product-minded

I work like a product engineer: I start from users and data, write the spec, design in SwiftUI, and direct AI agents through implementation and tests. Agents write almost all of the code; the decisions, the architecture and the quality bar stay mine.

- **Users and data first**: Features start from user feedback and analytics: retention, DAU/MAU, conversion, ratings.
- **Specs with no gaps**: Every spec is challenged until nothing is left open. Nothing is built before the product is validated.
- **Agents write, I architect**: Claude Code and Codex write nearly all the code. I keep the architecture clean and tested, with boundaries the build enforces.
- **Leading AI in the team**: At Decathlon I drive AI adoption: agent documentation, shared skills, review guidelines.

## Experience

### Senior iOS Engineer — Decathlon (Decathlon Hub)
Jan 2024 – Present

Rebuilding Decathlon Hub, a high-traffic app for connected sports equipment, from scratch.

- Complete rebuild of the app, 100% SwiftUI.
- Clean Architecture with explicit dependency management, modularized with Tuist.
- Built the core engine of the BFF (Backend for Frontend) that turns thousands of requests, each carrying thousands of activity data points, into the app’s charts: maths on GPS, heart rate, speed and pace.
- The team owns the BFF and its OpenAPI contracts, with generated code checked at compile time on both sides.
- Delivered a feature end to end, from the backend to the iOS and Android apps.
- Built a complete in-app debug menu for developers and testers.
- Bluetooth Low Energy across multiple device SDKs, in an ecosystem of local databases and several backend layers.
- Find root causes in other teams’ code and fix them with pull requests in their repositories, instead of waiting.
- Drive AI adoption in the team: documentation for agents, shared skills, code review guidelines, internal sessions.
- Close work with product managers and designers, with a real voice on product and design decisions.
- Accessibility and animations treated as first-class features.
- CI/CD on Bitrise and GitHub.

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

### Senior iOS Engineer — Dashlane
Nov 2019 – Jan 2024 · Fully remote · working daily with New York and Lisbon

Password manager. iOS, macOS, Safari extension, AutoFill extension, watchOS and widgets, in a team of 10 iOS engineers working in English.

- Rewrote the app’s screens from scratch in SwiftUI and Combine (MVVM), then refactored the whole app navigation in SwiftUI, including NavigationStack for login.
- Rebuilt the AutoFill credential provider extension in SwiftUI and added data sync between the app and its extensions through App Groups.
- Shipped the macOS app with Catalyst from the shared iOS codebase.
- Designed the modular Swift Package architecture (Foundation, Core, Feature layers) and wrote about it on the Dashlane blog.
- Built “Import from LastPass”, a strategic feature after the LastPass breach.
- Migrated async code to structured concurrency, Carthage to Swift Package Manager, and contributed to the Core Data → GRDB migration.
- Moved CI from Stash to GitLab CI with fastlane, then to Xcode Cloud in 2023, with UI and unit tests gating every release.
- Worked with symmetric and asymmetric cryptography in a security-critical, open-source codebase.

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

### iOS Engineer — Oui.SNCF (now SNCF Connect)
Apr 2018 – Nov 2019

France’s train booking app, in a mobile team of about 30 people.

- New features in Swift: bus booking, Siri Shortcuts to show your ticket, search improvements, a rebuilt loyalty cards section.
- Split the app into frameworks to cut compile and launch time, and wrote about it on Medium.
- Bridged Swift with the legacy Objective-C code base, in a monorepo with Jenkins CI.
- Proposed the code style guidelines the team adopted.

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

### iOS Engineer (agency) — Diji
Jul 2017 – Nov 2017

Several client apps, including a mission on Medicapp.

- Released 3 apps to the App Store, in Swift and Objective-C.
- Set up a Jenkins server with fastlane and AWS for iOS and Android test automation.

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

### Teacher — Supinfo International University
Nov 2015 – Jun 2018

Taught Swift, C, web and object-oriented programming to first- to third-year students, and ran the exams.

Earlier (2015–2016): Web and iOS developer at Asifiwe Ltd (UK internship), 42Stores and Lok-iz. Front end, PHP back end and a first Swift app.

## Projects

### PokeRadar
iOS · Android · released 2025-09 · 4.8★ (100+ ratings)

The companion app for Pokémon GO: event checklists, live raid lobbies and an IV scanner that works in the wild.

Pokémon GO players juggle spreadsheets, infographics and Discord bots to keep up with events, raids and their collection. PokeRadar puts all of it in one clean native app.

It is a complete product I design, build and run on my own: native iOS and Android apps, a realtime backend on Cloudflare, subscriptions and a community on Discord. It has shipped continuously since its launch in September 2025, and it is where I push my AI-agent workflow furthest.

- SwiftUI app with a ReplayKit broadcast extension that reads Pokémon stats from the game screen with Vision, plus a custom keyboard.
- Android app in Kotlin and Jetpack Compose, at feature parity with iOS.
- Realtime raid rooms on Cloudflare Durable Objects over WebSockets; Workers, KV and R2 for the API and content; Supabase for Postgres and auth.
- Subscriptions, push notifications, analytics and localization in 10 languages.

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 · released 2024-08 · 4.6★ (800+ ratings)

Blocks more than 12 million French telemarketing numbers. Install once, never think about spam calls again.

Telemarketing calls in France come from known number ranges, published by the telecom regulator ARCEP. Bloctel, the official opt-out list, barely helps.

AntiSpam loads those ranges straight into iOS through a CallKit Call Directory extension: millions of numbers blocked or labelled, with no server and no updates to run. Users can add their own ranges.

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 · released 2024-01 · 4.3★ (300+ ratings)

Caps the maximum volume of an iPhone or iPad, so kids can’t blast videos at full volume.

iOS has no setting to cap the speaker volume. Volume Blocker enforces a maximum level in the background, with a PIN to lock it and a timer.

It is localized in 25 languages, which taught me a lot about App Store optimization outside 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 · released 2024-06

Two-factor codes with zero-knowledge, end-to-end encrypted iCloud sync.

Four years at Dashlane, applied to my own security app. Every token is encrypted on device with CryptoKit before it reaches iCloud, so not even I can read it.

It comes with Face ID lock, home-screen widgets, an Apple Watch app and import from Google Authenticator. The OTP engine is its own tested Swift package.

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

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

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

Styled QR codes for links, contacts, Wi-Fi and social profiles, with templates, gradients and your own logo.

A design playground: hundreds of templates, colors, gradients, images and logos, with full control over each element of the code, plus a scanner with history.

Stack: SwiftUI, QRCode, PhotosUI, RevenueCat

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

### QuizClash (2023 – 2024)

A multiplayer trivia game, my first full product: a Swift server with Vapor in microservices, Docker Compose with PostgreSQL and Nginx, a SwiftUI app and its website. Discontinued.

## Writing

- [Dites adieu aux appels intempestifs](https://medium.com/@rayane.kurrimboccus/dites-adieu-aux-appels-intempestifs-60614e8cd123) — Medium, 2024-07. Why Bloctel fails against telemarketing calls, and how AntiSpam blocks every known number range at once.
- [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. Capping the speaker volume on iOS for kids, and the app I built to do it.
- [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. Building both the iOS app and its backend in Swift with Vapor, from my QuizClash game.
- [How to Organize Your Swift Packages](https://www.dashlane.com/blog/organize-swift-packages) — Dashlane blog, 2023-03. How Dashlane splits its apps into layered Swift packages: Foundation, Core and Feature.
- [CocoaHeads meetup talk](https://www.linkedin.com/posts/rayane-kurrimboccus_last-week-at-julys-cocoaheads-meetup-which-share-6556438784802603009-5mbh) — CocoaHeads, 2019-07. A talk at the July 2019 CocoaHeads meetup.
- [Living the WWDC 2019](https://medium.com/@rayane.kurrimboccus/living-the-wwdc-2019-d38acb0b8252) — Medium, 2019-06. WWDC 2019, the year SwiftUI was announced.
- [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. Letting modules talk to each other without depending on each other.
- [Common problems when modularizing an iOS application](https://medium.com/@rayane.kurrimboccus/common-problems-when-modularizing-an-ios-application-92976f94462e) — Medium, 2019-03. The pitfalls I hit while splitting a large app into frameworks, and how to get past them.
- [Modularize an iOS application](https://medium.com/swlh/modularize-an-ios-application-919b30e41e3c) — The Startup, 2019-03. Splitting a large app into frameworks to cut compile and launch time, from my work on Oui.SNCF.

## Skills

- **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
- **Apple platforms**: iOS, macOS / Catalyst, watchOS, Widgets, App extensions, BLE, StoreKit
- **Data & backend**: GRDB / SQLite, Core Data, BFF, OpenAPI, Cloudflare Workers, Supabase, Vapor
- **Product & data**: User research, Specs, Google Analytics, Amplitude, Datadog, ASO
- **Delivery**: Unit & UI tests, Xcode Cloud, Bitrise, GitLab CI, GitHub, fastlane, Feature flags, App Store release
- **AI tooling**: Claude Code, Codex, Copilot, MCP, Agent skills, Test-first agents
- **Also**: Kotlin, Jetpack Compose, TypeScript

## Education

- Master of Science, Computer Engineering — Supinfo International University (2015 – 2018)
- Programmer analyst diploma — Exia.Cesi (2013 – 2015)

## Languages

French (native), English (fluent, C1)
