David Ruiz Urraca profile picture
Available for Remote Roles

DAVID RUIZ URRACA

Senior Mobile Engineer / Android Developer|

Building production mobile systems since 2015 — native Android applications and SDKs, Flutter products, and Kotlin Multiplatform shared layers. I own the parts that turn a mobile app into a platform: API and SDK contracts, backward compatibility, privacy and consent, testing, CI/CD, and release engineering — with agentic AI built into how I deliver.

Professional Profile

Product-minded Senior Mobile Engineer building production mobile systems since 2015 across native Android applications, Android SDKs, Flutter products, and Kotlin Multiplatform shared layers. I own delivery end to end: architecture, API and SDK contracts, backward compatibility, privacy and consent, testing, CI/CD, release engineering, analytics, payments, and experimentation.

At OLX Group I owned an internal Android Ads SDK across the Horizontals, Real Estate, and Motors verticals, serving tens of millions of active users across market-specific builds. I led its architecture, lifecycle, publication, integration standards, and partner-team enablement, while raising SDK test coverage from 14% to 70%.

At Explora Prado I am the Technical Lead and sole developer of a live Flutter product for Museo del Prado — a recognised project that received an Art-Tech 2025 Honorable Mention and was selected for Santander X Explorer 2026 — released on both the App Store and Google Play and still in active development.

My current product work combines privacy-first health data, on-device AI, cloud AI, and cross-platform architecture: an Android health app built around the Health Connect API and Android's AICore (on-device Gemini Nano), and two public Kotlin Multiplatform portfolio projects for Android and iOS — carApp, an offline-first vehicle-cost tracker, and Multiverse Explorer, a Rick and Morty API client — both sharing domain, data and presentation logic while keeping the UI native with Jetpack Compose and SwiftUI, with Multiverse Explorer following Material 3 Expressive and Liquid Glass.

I use TDD and generative AI/agentic workflows as core engineering practices — Claude Code, Cursor, Codex, and Ollama alongside custom skill packages, terminal-integrated command loops, automated test-debug cycles, and structured AGENTS.md / DESIGN.md patterns — to accelerate implementation while preserving reproducibility, testing discipline, and engineering quality.

Selected Impact

  • Mobile platform ownership: Owned the Android Ads SDK lifecycle at OLX Group — architecture, API and versioning strategy, backward compatibility, privacy and consent, AAR packaging, Maven publication, documentation, and partner-team integration.
  • Production scale: Supported monetisation across three OLX consumer verticals, each shipping market-specific builds and serving tens of millions of active users.
  • Quality improvement: Raised Android Ads SDK test coverage from 14% to 70% using JUnit, MockK, Robolectric, Espresso, MockWebServer, and JaCoCo, with Detekt and ktlint enforcing code quality.
  • End-to-end product delivery: Built and operate the full technical platform for Explora Prado — Flutter applications for Android and iOS, Firebase services, in-app purchases, release pipelines, and live store releases.
  • Long-term technical impact: Led the ground-up Kotlin/Dagger 2 rebuild of Wegow's Android product; the resulting v2 still underpins the company's product six years after my departure.
  • AI product engineering: Building a privacy-first Health Connect product that combines on-device Gemini Nano/AICore with cloud AI, with local-first handling of sensitive health data.

Current Focus (Now)

Active Focus

Here is what I am focused on right now, in mid-2026:

  • Explora Prado: Now live on both the App Store and Google Play — and still in active development. Shipping new features, scaling and refactoring the technical platform of this recognised Flutter app, optimizing multi-store payments, and owning the full technical roadmap post-launch.
  • Cross-Platform (KMP & Flutter): Advancing Compose Multiplatform, client-server sharing, and scalable Flutter architectures to maximize code reuse.
  • React Native (JS/TS): Building working knowledge of React Native with JavaScript and TypeScript. Not at my Kotlin or Dart level — but paired with app architecture experience and an AI-assisted workflow, enough to take on React Native projects and get productive on them quickly.
  • AI-Driven Workflows: Continuous integration of agentic loops (Claude Code), custom Model Context Protocol (MCP) servers, and terminal-integrated testing cycles into daily mobile workflows.

Professional Experience

Jan 2026 – Present

Technical Lead (Freelance)

Explora Prado Spain (Remote)

A recognised Flutter app turning Museo del Prado's permanent collection into a self-guided digital experience — recipient of the Art-Tech 2025 Honorable Mention and selected for the Santander X Explorer 2026 programme.

  • Own the full technical platform as the sole developer: architecture, implementation, release pipeline, and the live releases on the App Store and Google Play.
  • Built the Android and iOS applications end to end with Flutter/Dart, Clean Architecture, BLoC, and a layered DTO / Entity / Model data structure backed by Firebase (Firestore, Storage, Authentication, Analytics, Crashlytics).
  • Implemented the in-app purchase platform for both stores (in_app_purchase), including purchase verification and entitlement persistence — a non-trivial native integration on Android and iOS, with store-side products live on both platforms.
  • Built dynamic localisation (Spanish & English live, with Italian, French, and Portuguese planned) and adaptive UI for a content-heavy museum experience with SVG assets and custom typography. Also built the internal content-administration back office in Flutter Web — an operator-only tool, never exposed to end users.
  • Developed interactive quizzes, multimedia guides, payment flows, and offline synchronisation using Test-Driven Development (TDD) to support application reliability.
  • Run Firebase A/B tests across onboarding, content presentation, and conversion flows.
  • Scale solo delivery through an AI-first workflow using Claude Code and Cursor, custom skill packages, terminal-integrated command loops, automated test-debug cycles, and structured AGENTS.md / DESIGN.md patterns.
Flutter Dart BLoC Firebase Firestore In-App Purchases Clean Architecture TDD A/B Testing AI Engineering
Jul 2021 – Jan 2026

Senior Android Engineer

OLX / Letgo Barcelona (Remote)

Android platform engineering for a global marketplace operating across Poland, Portugal, Turkey, Ukraine, Romania, India, Indonesia, South America, and other markets.

  • Owned the internal Android Ads SDK as a mobile platform, powering monetisation across OLX's Horizontals, Real Estate & Motors verticals. Each vertical shipped market-specific builds serving tens of millions of active users, with ad demand integrated primarily through Google Ad Manager alongside additional third-party ad-network SDKs.
  • Served as the SDK's technical lead and sole Android engineer for most of its lifecycle, leading a temporarily expanded Android team during higher-load periods.
  • Designed the api/impl module boundary to enforce dependency isolation, make partner integrations safer and more predictable, and improve build performance; standardised builds with Gradle convention plugins, version catalogs, and composite builds.
  • Led privacy-first SDK decisions covering consent-state management (IAB TCF, Google UMP), scoped tracking, GDPR, and Android Privacy Sandbox technologies (Topics API, Protected Audience, Attribution Reporting).
  • Led migration of critical SDK surfaces from XML to Jetpack Compose and from callback-based asynchronous code to Kotlin Coroutines & Flow, while maintaining backward compatibility.
  • Applied Baseline Profiles and Macrobenchmark to improve startup performance and reduce jank on critical SDK-hosting surfaces.
  • Used TDD and automated testing (JUnit, MockK, Robolectric, Espresso, MockWebServer) to design the SDK APIs — raised SDK test coverage from 14% to 70%, with Detekt and ktlint enforcing code quality.
  • Owned the SDK lifecycle from versioning and AAR packaging through Maven Publish distribution to Artifactory (JFrog) and Maven Central, integration documentation, and partner-team enablement.
  • Contributed cross-team feature work on consumer apps, reinforcing SDK integration patterns from the consumer side.
  • Collaborated closely with international teams across OLX's offices in Istanbul, New Delhi, Poznań, and Lisbon — coordinating integration and delivery across time zones and markets.
  • Led cross-platform coordination with the iOS SDK team to synchronize API designs, telemetry schemas, and release lifecycles, establishing a unified integration standard for client teams.
  • Integrated GraphQL-based APIs for data fetching in consumer-app feature work.
  • Wrote my first Flutter code here, building cross-platform features alongside the native Android work — a foundation later deepened on Explora Prado.
  • Tracking and analytics integration: Amplitude, CleverTap, Google Analytics, Crashlytics.
Android SDK SDK Architecture Release Engineering Kotlin Jetpack Compose Coroutines & Flow GraphQL Flutter TDD API Design Privacy Sandbox GDPR Analytics A/B Testing Baseline Profiles
Sep 2019 – Jul 2021

Senior Android Developer

Wegow Madrid (Remote)

Live-music events discovery and ticketing platform. Joined as the company's only Android developer and owned the application end to end across architecture, feature delivery, and production stability.

  • Inherited a legacy Java codebase built on deprecated libraries (Dagger 1); stabilised it and shipped new features during an initial support phase.
  • Led and built a ground-up rebuild ("v2") in Kotlin with Dagger 2 on MVVM / Clean Architecture, replacing the legacy Java/Dagger 1 app — a foundation that still underpins the company's product today, 6 years after my departure.
  • Built with Room, LiveData, ViewModels, and Coroutines, with Glide for image loading and Firebase for push notifications, analytics, and Crashlytics.
  • Integrated Stripe and Redsys payment gateways for ticket purchases and the Google Maps SDK for event discovery and venue geolocation.
  • Implemented Test-Driven Development (TDD) as a core practice to ensure high reliability and a regression-free codebase during the rebuild.
  • Coordinated directly with the iOS developer to align feature contracts, analytics schemas, and release cycles, driving joint initiatives to unify product behavior across both platforms.
Kotlin MVVM Dagger 2 Room Stripe Redsys Google Maps Clean Architecture TDD A/B Testing
Jul 2018 – Sep 2019

Android Developer

Instantgo Madrid (Remote)

On-demand services marketplace where independent professionals offered paid sessions at an hourly rate — most delivered online via 1:1 video call, with support for in-person services too. User base concentrated in California, available across many countries.

  • Built the Android app from scratch and brought it to feature parity with the existing iOS app.
  • Integrated paid 1:1 video calls with Twilio, managing session and connection lifecycle.
  • Implemented the in-app payment flow with Stripe for booking paid sessions.
  • Integrated the Firebase ecosystem (Authentication, push notifications, analytics, Crashlytics, Realtime Database, Storage, Cloud Functions, and App Distribution for build delivery) with Dagger 2 for dependency injection.
  • Sole Android developer — built the app from scratch with full technical autonomy in a fast-paced startup, using Kotlin + MVVM / Clean Architecture with Retrofit, Room, LiveData, and Glide.
Kotlin MVVM Clean Architecture Dagger 2 Firebase Twilio Stripe Retrofit Room A/B Testing
Mar 2018 – Jul 2018

Android Developer

Telefónica Madrid

Android TV development for Movistar TV, Telefónica's IPTV / streaming platform.

  • Developed features for the Movistar TV Android TV surface with D-pad navigation and Leanback UI components.
  • Worked with ExoPlayer for video playback and integrated custom JavaScript components into the Android TV surface.
  • Worked in a Scrum team applying MVP and Kotlin within a large-organization delivery process.
Android TV Leanback UI D-pad Navigation ExoPlayer Kotlin MVP Scrum A/B Testing
Dec 2017 – Mar 2018

Android Developer

UXSmobile Madrid

  • Built new modules for the BMI – Evo Banco app with Clean Architecture + MVP in Kotlin.
  • Implemented secure REST integrations with Retrofit and local persistence with Room.
  • Worked under banking-sector quality and security standards.
Kotlin MVP Retrofit Room Fintech
Nov 2016 – Dec 2017

Android Developer

Mobile One2One Madrid

  • Delivered native Android apps for enterprise clients in retail, transport, and hospitality (Carrefour, Alsa, Iberostar, Baleària, Meliá).
  • Built features end-to-end with MVP / Clean Architecture, primarily in Java while taking my first steps with Kotlin.
  • Integrated REST APIs (Retrofit) and offline persistence (Realm), implementing custom UI designs.
  • Adapted to differing requirements and codebases per client within an agency delivery model.
Java Kotlin Custom UI MVP Clean Architecture Retrofit Realm Enterprise Apps
Sep 2015 – Nov 2016

Android Developer

AvantGarde IT Services Madrid

  • Built and shipped client-facing Android apps in Java for public-sector and enterprise clients (Indra, DGT, Atenzia, Brightstar).
  • Developed in Java using mainly AsyncTasks, starting to incorporate libraries such as Retrofit, ButterKnife, EventBus, and an early version of Dagger.
  • Built UIs in XML and contributed across the full feature lifecycle.
Java XML AsyncTasks Retrofit ButterKnife EventBus Dagger

Featured Projects

Selected work where I owned the architecture end-to-end.

Technical Lead (Freelance) · 2026–present

Explora Prado

A self-guided digital companion for the Museo del Prado that turns the permanent collection into an interactive, multilingual tour with quizzes and multimedia guides. Sole developer and technical owner — from Clean Architecture and in-app purchases to shipping on the App Store and Google Play.

2platforms
Flutter BLoC Firebase In-App Purchases TDD
Personal Project · 2026

Health & AI App

A privacy-first Android app built around the Health Connect API that aggregates personal health data into meaningful metrics, then pairs on-device AI (AICore / Gemini Nano) with cloud AI to help users understand and improve their health. Local-first by design — sensitive data stays on-device where possible.

Local-firstprivacy On-device + cloudAI
Android Health Connect AICore (Gemini Nano) Cloud AI On-device AI
Personal Project · 2026

carApp — Vehicle Cost Tracker

A cross-platform Android and iOS app for tracking vehicle costs, built as a public portfolio piece with an offline-first MVP focused on fuel expenses. Kotlin Multiplatform shares the domain, data, synchronisation and presentation state-holder logic, while the UI stays native with Jetpack Compose and SwiftUI. Covers vehicle management, refuelling history and real-world consumption (full-to-full, distance-weighted), on SQLDelight persistence with Firebase/Firestore backup, TDD, architecture and contract checks, and protected GitHub Actions CI.

Android + iOSshared KMP Native UICompose + SwiftUI Offline-firstSQLDelight
Kotlin Multiplatform Jetpack Compose SwiftUI SQLDelight Firebase / Firestore GitHub Actions
Personal Project · 2026

Multiverse Explorer — Rick and Morty API Client

One shared Kotlin Multiplatform core behind two fully native UIs that follow each platform's design guidelines: Jetpack Compose with Material 3 Expressive on Android and SwiftUI with Liquid Glass on iOS. 13 Clean Architecture modules, REST and GraphQL over Ktor, offline-ready caching, Figma design tokens verified by tests, and accessibility built in.

1,550+automated tests 13Gradle modules REST + GraphQLKtor
Kotlin Multiplatform Jetpack Compose Material 3 Expressive SwiftUI Liquid Glass Ktor Screenshot testing GitHub Actions
Senior Android Engineer · 2021–26

Internal Ads SDK

An internal monetisation SDK I architected and led end-to-end, powering ads across OLX's three consumer verticals (Horizontals, Real Estate & Motors) used by tens of millions. Strict api/impl module boundaries, GDPR consent management, and a TDD pipeline that raised coverage from 14% to 70%.

10M+users reached 3verticals 14→70%test coverage
Android SDK Jetpack Compose Coroutines & Flow GDPR API Design
Sole Android Engineer · 2019–21

Wegow

A live-music discovery and ticketing app I rebuilt from the ground up — replacing a legacy Java/Dagger 1 codebase with a Kotlin "v2" on MVVM / Clean Architecture, then adding in-app ticket payments (Stripe & Redsys) and location-based event discovery.

v2still in production 100%Kotlin rewrite
Kotlin MVVM Dagger 2 Payments Google Maps TDD

Technical Skills

Languages

Kotlin Dart Java Swift (familiar) TypeScript JavaScript SQL XML JSON

Android Stack

Jetpack Compose Coroutines & Flow Clean Architecture MVVM / MVI RxJava EventBus (legacy) Hilt / Dagger 2 Koin Retrofit / Ktor Coil Jackson Room DataStore WorkManager Timber Baseline Profiles Macrobenchmark JUnit / MockK GitHub Actions Android TV Health Connect API AICore (Gemini Nano) On-device TTS / STT Material Design Material 3 Expressive Accessibility

Flutter Stack

BLoC Riverpod Clean Architecture in_app_purchase Firebase / Firestore App Check Flutter Web Platform Channels

Kotlin Multiplatform & Cross-platform

Kotlin Multiplatform (KMP) Shared domain / data / presentation layers Compose Multiplatform SwiftUI (native iOS, familiar) Liquid Glass (familiar) SQLDelight Ktor Multiplatform React Native (familiar) JavaScript / TypeScript (familiar)

SDK & Platform Engineering

API & SDK design Versioning & backward compatibility api / impl modularisation Gradle convention plugins Version catalogs Composite builds Enforced module boundaries AAR packaging Maven Publish Artifactory / Maven Central Release engineering Integration docs & partner enablement

AI & Agentic Tooling

Claude Code (daily) Cursor Codex Ollama (local models) Windsurf Gemini Qwen MCP Servers (Model Context Protocol) AI Skills / Custom Skill Packages AGENTS.md / DESIGN.md patterns

Cloud & SDKs

Firebase Suite Google Ad Manager Ad-network SDKs / mediation Amplitude CleverTap Crashlytics Stripe Redsys Twilio

Engineering Tools

Android Studio Xcode (familiar) VS Code Figma (design handoff) Git Gradle (Kotlin DSL / Groovy) Version Catalogs Maven Publish / Artifactory GitHub Actions Jenkins Fastlane CI / CD

Testing & Quality

TDD JUnit MockK Espresso Robolectric Compose UI testing Roborazzi (screenshot testing) Contract testing MockWebServer JaCoCo Detekt / ktlint Android Lint

Privacy & Consent

GDPR Android Privacy Sandbox IAB TCF Google UMP

Methodologies

A/B Testing Architecture Decision Records (ADRs) Agile Scrum Kanban JIRA

Skill Proficiency

Android(95%) Flutter(90%) KMP(75%) AI Tooling(90%) Cloud(85%) Arch / TDD(95%)

Education

Graduated 2012

B.Sc. Computer Science (Information Systems Management)

Universidad de La Rioja Spain

Final Year Project implemented on the Android platform — Grade: 9/10

Languages

Spanish Native
English Professional working proficiency
Portuguese Elementary

Interests

360° Photography & Video

Passionate about immersive 360° capture and an active Insta360 X4 user — I love reliving my trips in full 360° and getting the angles a normal camera can't.

Motorcycling & Travel

Happiest on two wheels and always up for a new road — most of my motorcycle trips and vacations end up being the reason I pick up the 360° camera in the first place.

Running & CrossFit

I stay active with regular running and CrossFit — it's how I keep the discipline and energy that carry over into how I work.

Tech & Home Automation

A tinkerer at heart — I enjoy building and automating my smart home and playing with new gadgets, hardware, and anything I can take apart and improve.

Music

A constant soundtrack to my day — I'm always digging into new music and rarely code, ride, or travel without something playing.

Movies & Series

I love winding down with a good film or series — drawn equally to a gripping story and to anything with striking visuals.

Get In Touch

Interested in working together or want to discuss mobile architecture, Flutter systems, or AI agent integrations? Feel free to reach out!

Location Spain (Remote)