Senior iOS Engineer.
Diez años desarrollando en Swift.
Trabajo en VASS, en el proyecto de Inditex, donde coordino el equipo iOS. Aparte desarrollo y mantengo dos apps propias en la App Store, con su API y su servidor.
01 — Producto propio
Dos apps que mantengo yo
App, API, datos y operación en producción. Las desarrollo y las mantengo yo; en cada caso de estudio explico las decisiones que tomé y lo que costaron.
-
CholloGas
En la App StorePrecios oficiales de carburante en España y Francia (MITECO y Gobierno francés). Swift y SwiftUI en el cliente; API en TypeScript sobre Fastify y PostgreSQL, con un adaptador por país. Sincronizo cada seis horas y la escritura es delta: solo guardo cuando el precio cambia de verdad.
- Fuentes
- MITECO y DATAGOUV
- Backend
- Precios cada 6 h
- Países
- España y Francia



-
Hilo
En la App StoreJuego diario de palabras: cinco que esconden un hilo común. SwiftUI con concurrencia estricta y persistencia local. Lo caro no fue el juego, fue el pipeline que genera, valida y revisa catálogo y creatividades de tienda: 8 idiomas repartidos en 11 fichas regionales de la App Store.
- Puzzles
- 4.015
- Idiomas
- 8
- Descargas
- +500



02 — VASS · Proyectos de cliente
Apps en producción para banca y retail
Proyectos de cliente dentro de VASS: la empresa es siempre la misma, el cliente cambia con el proyecto. De cada uno cuento solo el alcance público.
-
Inditex 2022 — hoyCoordino el equipo iOS desde 2025
App universal de iPhone y iPad con la que el personal de tienda de Zara, Pull&Bear, Massimo Dutti, Bershka, Stradivarius y Oysho gestiona su tienda en todo el mundo: ranking de ventas, rebajas, almacén y expositores. Arquitectura modular de 12+ librerías.
Swift 5/6 · Strict concurrency · Clean Architecture + MVVM · Combine/OpenCombine · Migración UIKit → SwiftUI · Tuist · fastlane · CI/CD · BDD y tests de screenshot -
Santander Belgium 2022
App de depósitos. Coordiné iOS y Android para que las dos versiones se comportaran igual, en francés, neerlandés e inglés.
Swift · Kotlin · Combine -
Mercadona 2021
Su primera app para comprar en lonja: por barco, por lonja y por día, con el histórico de precios a mano.
Swift 5 -
Unicaja 2020
Bizum dentro de la app del banco, con PSD2 de por medio y la API cubierta con tests antes de escribir la pantalla.
Swift · VIPER · TDD -
Pibank 2019 — 2020
Área privada de clientes del Banco Pichincha y su app de remesas. Mi primer proyecto de banca.
Swift 4 → 5 · VIPER
03 — Open source y herramientas
Herramientas y arquitectura de referencia
Empezaron siendo algo que necesitaba yo y acabaron publicados. De PRDPlanner y HarnessHub hay caso de estudio; el código sigue siendo privado.
-
Swift 6 · iOS 18+ · MIT
iOS Architecture Reference
Código abiertoAplicación SwiftUI compilable que documenta la arquitectura que uso de referencia: capas y features inspiradas en Clean Architecture, MVVM con estado @Observable, navegación tipada sobre un Router único e inyección manual por factories. Incluye lo que suele faltar en un ejemplo: xcconfig por entorno, interceptores de URLSession, SSL pinning, manifiesto de privacidad y deep links con restauración de rutas. Los límites entre capas se sostienen con revisión y tests dentro de un único target.
194 tests Swift Testing en 27 suites · sin dependencias externas
Swift 6 · SwiftUI · Swift Testing · URLSession · GitHub Actions
-
Go · CLI · MIT
AnvilCLI
Código abiertoCLI en Go con asistente TUI que genera proyectos Xcode listos para compilar con Clean Architecture + MVVM + Router, y añade features completas —dominio, datos, vistas, tests y mocks— a un proyecto ya existente. La escritura es transaccional: valida el plan entero antes de tocar disco, agrupa todas las colisiones en un mismo informe y no sobrescribe nada.
7 packs de herramientas de IA · 34 skills con procedencia declarada
Go · BubbleTea · Generación de proyectos Xcode · GitHub Actions
-
Claude Code · Plugin
PRDPlanner
Edición pública en preparaciónWorkflow estructurado para Claude Code, distribuido como plugin: PRD → plan por fases → build. El agente principal orquesta y delega en diez subagentes con contexto nuevo, cada uno con el modelo adecuado a su tarea, y una revisión adversarial cierra cada fase antes de que yo apruebe nada.
10 subagentes · 14 skills · fases con dependencias y gates humanos
Claude Code · Subagentes · Hooks · Gitflow
-
React · TypeScript · Local-first
HarnessHub
Beta localCompositor local de activos para harnesses de programación: seleccionas tecnologías, harnesses y activos compatibles, revisas el árbol resultante y descargas un bundle trazable y reproducible. No instala, ejecuta ni configura nada de lo que empaqueta, y cada release del catálogo se verifica en local con firma desprendida, fail-closed.
Monorepo pnpm con dominio, aplicación y catálogo separados · e2e con Playwright y axe-core
React 19 · TypeScript · Vite · Vitest · Playwright · oxlint
04 — Contacto
Escríbeme.
Para hablar de trabajo, de una colaboración o de cualquier duda con las apps. Contesto yo, no hay formulario de por medio.