How I build

From a user’s problem to a shipped feature.

My job title says iOS engineer. In practice I work across the whole product: users, data, specs, design, iOS, Android, backend, tests and release. AI agents make that possible at a speed one person could not reach before. This page is about how I keep it rigorous.

The loop I run, for every feature

  1. Listen

    MeMost features start with users: suggestions on Discord and Reddit, requests sent from inside the app. I weigh them against data (DAU/MAU, retention, conversion, ratings), competitors and App Store search.

    AgentsAgents help me read the feedback, research the market and dig through analytics.

  2. Specify

    MeI shape the feature, then challenge it until every edge case, state and failure has an answer. The spec ends with acceptance criteria that become tests. Nothing is built before I validate it.

    AgentsAn agent writes the spec from our brainstorm, then questions it to find the gaps.

  3. Design

    MeI design in the real medium: SwiftUI previews, several variants side by side. I keep one and delete the rest.

    AgentsVariants cost minutes instead of days, so I can try the bold option too.

  4. Build

    MeI set the architecture and the boundaries, and the build enforces them: module rules in Tuist, typed API contracts generated from OpenAPI. The stack is documented for agents, and deterministic scripts handle anything that has to be exact.

    AgentsClaude Code and Codex write nearly all of the code, often in parallel on separate worktrees, guided by custom skills and tooling.

  5. Verify

    MeI review at the level that matters: structure, boundaries, and whether the architecture still serves the product strategy. Snapshot tests on key screens are the next addition.

    AgentsTests come first and must fail before the implementation makes them pass, with checks that they actually test something. A second, independent agent reviews every change against the spec.

  6. Ship and learn

    MeWeekly releases, sometimes more, behind feature flags and with a forced-update path. iOS and Android stay at parity because they share one spec and mirrored unit tests. Then the data tells me what worked.

    AgentsAgents read analytics and crash data through MCP servers to measure each feature and trace bugs back to real user sessions. Release notes and translations into 10 languages come out of the same pipeline.

Architecture

Architecture is the part I never delegate

Agent-written code only stays good on a clean base. Every project I lead has a clear architecture: isolated layers, explicit dependencies, business logic covered by tests.

I no longer read every line for syntax. I review structure: is this boundary right, does this belong here, will it still be easy to change in two years, does it still match where the product is going? That is where a senior engineer’s attention pays off most today.

In a team, and on my own

At Decathlon

Leading AI adoption in the team

I drive how the team uses AI: documentation agents can rely on, shared skills, code review guidelines, and internal sessions on using it well without burning tokens.

The work goes past iOS. I built the core engine of our BFF, which turns thousands of activity data points per request into the app’s charts (GPS, heart rate, speed, pace). We define its API contracts in OpenAPI with generated code on both sides, so the app and the backend can’t drift without the build failing. I shipped a feature end to end across backend and Android. When another team’s code blocks us, I find the root cause in their repository and open the pull request myself.

With Datadog and Amplitude connected to agents, a bug reported by a user or a tester goes from symptom to root cause fast, because I can follow it across the whole stack.

I work with product managers and designers every day and push for product and design decisions, not only tickets.

On PokeRadar

The whole product, with no team around me

Community on Discord and Reddit, analytics, specs, design, iOS, Android, a realtime backend, subscriptions and App Store optimization: every role, every week.

Most features come straight from user suggestions, and Google Analytics, connected to agents, tells me whether they worked. The app holds a 4.8★ rating and ships weekly, with 99% of its code written by agents and an architecture I can still reason about end to end.

Principles

The details are better in a conversation.

Tooling, specs, review setup, what worked and what did not: happy to walk through it.