# Antonio Leiva > Web personal de Antonio Leiva: fundador de DevExpert, Google Developer Expert en Android y formador en desarrollo de software con agentes de IA (Claude Code, Codex, OpenCode). Aquí publica los proyectos que construye con agentes y lo que aprende con cada uno. - Formación: [AI Expert](https://devexpert.io/cursos/expert/ai?utm_source=antonioleiva.com&utm_medium=referral&utm_campaign=llms), programa en directo sobre desarrollo de software con agentes. - Empresa: [DevExpert](https://devexpert.io). - Charlas y contacto para eventos: [https://antonioleiva.com/charlas](https://antonioleiva.com/charlas) - English version: [https://antonioleiva.com/en](https://antonioleiva.com/en), with the same projects, posts and talks. ## Proyectos - [Nº 20 Tablero](https://antonioleiva.com/proyectos/tablero): El panel del día en una tablet de pared. Tareas, calendario, comidas, tiempo y cuánto me queda de Claude y Codex, con órdenes de voz. Estado: en construcción. - [Nº 19 Remote Sessions](https://antonioleiva.com/proyectos/remote-sessions): Una app para iOS y Android que lista tus conversaciones de Claude Code y continúa cualquiera desde el móvil con Remote Control. Estado: en construcción. - [Nº 18 aibot](https://antonioleiva.com/proyectos/aibot): Agente personal y proactivo que corre en mi propio servidor y uso desde cualquier dispositivo. Estado: en construcción. - [Nº 17 Humans in the Loop](https://antonioleiva.com/proyectos/hitl): Web de Humans in the Loop, el encuentro mensual en Madrid de quienes desarrollan con IA. Estado: en uso. - [Nº 16 deck-kit](https://antonioleiva.com/proyectos/deck-kit): El motor de las slides animadas de DevExpert, con escenas y pasos definidos como datos y presentador sincronizado. Estado: en uso. - [Nº 15 Tablas en Flor](https://antonioleiva.com/proyectos/tablas-en-flor): Las tablas de multiplicar del 1 al 10 como un jardín que se riega practicando. App para iPad y Mac, y versión web para jugar desde el navegador. Estado: en uso. - [Nº 14 Aventura del Cole](https://antonioleiva.com/proyectos/aventura-cole): Un juego para repasar Lengua, Matemáticas y Ciencias Naturales de 3.º de Primaria, con lecciones cortas, misión del día y repaso espaciado. Estado: en uso. - [Nº 13 Silicon Streets](https://antonioleiva.com/proyectos/silicon-streets): Beat 'em up de scroll lateral con investigación noir, ambientado en el Silicon Valley de 1984. Estado: en construcción. - [Nº 12 Harness Starter](https://antonioleiva.com/proyectos/harness-starter): Cuatro skills para pasar de una idea a tu primera feature verificada con Claude Code, Codex u OpenCode. Estado: en uso. - [Nº 11 G-Rally](https://antonioleiva.com/proyectos/g-rally): Rally arcade sobre grava para handhelds y móviles, con nueve tramos, tres rallies y un copiloto que canta las notas. Estado: en construcción. - [Nº 10 Agent Dashboard](https://antonioleiva.com/proyectos/development-agent-dashboard): Panel local para ver y editar los AGENTS.md y las skills de cada proyecto de Codex, sin base de datos. Estado: en uso. - [Nº 09 NextDJ](https://antonioleiva.com/proyectos/next-dj): Consola de DJ de escritorio y open source. Dos platos, formas de onda, EQ, filtros y grabación de sesiones. Estado: en uso. - [Nº 08 DevExpert Academy](https://antonioleiva.com/proyectos/academia): La academia de DevExpert. Formaciones, clases en vídeo y comunidad, en web y en apps nativas. Estado: en uso. - [Nº 07 PostFlow](https://antonioleiva.com/proyectos/postflow): Publicación en redes autoalojada. Interfaz web, API HTTP, endpoint MCP y CLI en un solo servicio. Estado: en uso. - [Nº 06 Aipal](https://antonioleiva.com/proyectos/aipal): Bot de Telegram que manda cada mensaje a un agente local (Codex, Claude, Gemini u OpenCode) y te devuelve el resultado. Estado: parado. - [Nº 05 justdoit](https://antonioleiva.com/proyectos/justdoit): CLI de time-blocking sobre Google Tasks y Google Calendar. Estado: parado. - [Nº 04 Agent Kit](https://antonioleiva.com/proyectos/agent-kit): Mi catálogo de skills para agentes. Email, facturas, publicación en YouTube, Slack, WhatsApp y unas cuantas más. Estado: en uso. - [Nº 03 listmonk-cli](https://antonioleiva.com/proyectos/listmonk-cli): CLI para gestionar campañas, listas, suscriptores y plantillas de Listmonk desde la terminal o desde un agente. Estado: en uso. - [Nº 02 Web de DevExpert](https://antonioleiva.com/proyectos/devexpert): La web de DevExpert, con AI Expert, formación para empresas, blog, newsletter y la guía del Harness Starter. Estado: en uso. - [Nº 01 antonioleiva.com](https://antonioleiva.com/proyectos/blog): Esta web, en marcha desde 2013. Estado: en uso. ## Escritos sobre desarrollo con IA - [Qué es Loop Engineering: ejemplo práctico con Codex](https://antonioleiva.com/que-es-loop-engineering-ejemplo-practico-codex) - [Cómo usar 1Password para dar secretos a agentes y apps de escritorio](https://antonioleiva.com/1password-secretos-agentes-apps-escritorio) - [Cómo activar el thinking mode de Gemma 4 en LM Studio y OpenCode](https://antonioleiva.com/activar-thinking-mode-gemma-lm-studio-opencode) - [Los MCPs no estaban muertos, estaban de parranda](https://antonioleiva.com/los-mcps-estan-mas-vivos-que-nunca) - [No creo que vaya a acabarse el subsidio de tokens. Y eso dice mucho sobre el futuro de la IA](https://antonioleiva.com/subsidio-tokens-futuro-ia) - [¿El fin de los IDEs y los CLIs agénticos? Llegan los ADEs](https://antonioleiva.com/fin-ides-clis-agenticos-llegan-ades) - [Mi IA escribió código basura. Y fue exactamente lo que buscaba](https://antonioleiva.com/ia-escribio-codigo-basura-y-fue-lo-que-buscaba) - [Mi setup completo de desarrollo agéntico y productividad en 2026](https://antonioleiva.com/setup-desarrollo-agentico-2026) - [Cómo he montado un sistema de desarrollo autónomo con agentes de IA](https://antonioleiva.com/sistema-desarrollo-autonomo-agentes-ia) - [Skills: El motor oculto de los agentes (y por qué no necesitas un 'bot' mágico)](https://antonioleiva.com/hype-vs-realidad-skills) - [ClawdBot: ¿Es seguro darle tu terminal a una IA? Guía de supervivencia](https://antonioleiva.com/clawdbot-seguridad-guia) - [Cómo reorganicé todos mis repos con IA (y de paso mis perfiles de GitHub)](https://antonioleiva.com/reorganice-repositorios-con-ia-perfiles-github) - [El año en que la IA amenazó nuestros trabajos: Análisis del 2025 y objetivos para el 2026](https://antonioleiva.com/analisis-2025-objetivos-2026) - [¿Es necesario hacer formaciones sobre el uso de Inteligencia Artificial?](https://antonioleiva.com/necesidad-formaciones-ia) - [Duelo de LLMs: Gemini 3 Flash vs Opus 4.5 vs GPT-5.2-Codex vs GLM-4.7](https://antonioleiva.com/duelo-de-llms) - [Cerrando el círculo de la IA en Desarrollo de Software](https://antonioleiva.com/cerrando-circulo-ia) - [How to deploy an Astro SSR app to Coolify](https://antonioleiva.com/astro-ssr-coolify) (en inglés) ## Archivo: Kotlin y Android (2013–2020, en inglés) - [Live Templates on Android Studio and IntellliJ to improve your productivity](https://antonioleiva.com/live-templates-android-studio) - [View Binding: The Definitive way to access views on Android](https://antonioleiva.com/view-binding-android) - [[LIVE] Answering all your questions: MVVM, Work-Life balance, career progression, football..? 😂](https://antonioleiva.com/live-answer-questions) - [COIL: The Next-Gen IMAGE LOADER for Android [Coroutines Based!] 🚀](https://antonioleiva.com/coil-image-loader-android) - [Dependency Injection - All the Must-Know Concepts to start using it](https://antonioleiva.com/dependency-injection-principles) - [Living by the code, with Enrique López [Droidkast LIVE 7]](https://antonioleiva.com/living-by-the-code-enrique-lopez) - [Koin for dependency injection on Android. Is Dagger dead?](https://antonioleiva.com/koin-vs-dagger) - [Antonio Leiva interviewed by Fernando Cejas - Celebrating 1k subs on YouTube [Droidkast LIVE 6]](https://antonioleiva.com/antonio-leiva-interviewed-by-fernando-cejas) - [Data Binding on Android to implement the real MVVM](https://antonioleiva.com/data-binding-on-android-to-implement-the-real-mvvm) - [Google I/O 2019 - What's new for Android Developers](https://antonioleiva.com/google-io-2019) - [Self-publishing: My experience with Kotlin for Android Developers](https://antonioleiva.com/self-publishing) - [Flutter: Mobile Development for Busy People, Lara Martin [Droidkast LIVE 05]](https://antonioleiva.com/flutter-mobile-development-for-busy-people-droidkast-05) - [You need to learn Kotlin now! if you are an #AndroidDev](https://antonioleiva.com/learn-kotlin) - [What Android devs wish they had known when starting out, with Nate Ebel [Droidkast LIVE 04]](https://antonioleiva.com/what-android-devs-wish-they-had-known-when-starting-out-droidkast-04) - [Modularizing Android Apps, with Joe Birch [Droidkast LIVE 03]](https://antonioleiva.com/modularizing-android-apps-droidkast-03) - [Coroutines in Kotlin 1.3 explained: Suspending functions, contexts, builders and scopes](https://antonioleiva.com/kotlin-coroutines) - [ConstraintLayout 2.0 with MotionLayout, with Huyen Tue Dao [Droidkast LIVE 02]](https://antonioleiva.com/constraint-motion-layout-droidkast-02) - [The Art of Coding: Disasters and Failures, with Fernando Cejas [Droidkast LIVE 01]](https://antonioleiva.com/art-of-coding-droidkast-01) - [The year that changed it all: Analysis of 2018 and goals for 2019](https://antonioleiva.com/analysis-2018-goals-2019) - [MVVM with architecture components: a step by step guideline for MVP lovers](https://antonioleiva.com/mvvm-vs-mvp) - [Clean architecture for Android with Kotlin: a pragmatic approach for starters](https://antonioleiva.com/clean-architecture-android) - [How my world is changing today](https://antonioleiva.com/world-changing-today) - [MVP for Android: how to organize the presentation layer](https://antonioleiva.com/mvp-android) - [Hacking Architecture Components by using Kotlin](https://antonioleiva.com/architecture-components-kotlin) - [Yo Dawg! I heard you like Kotlin (Talk at Devfest Baltics)](https://antonioleiva.com/yo-dawg-heard-like-kotlin) - [Time for accountability: Analysis of 2017 and goals for 2018](https://antonioleiva.com/analysis-2017-goals-2018) - [Listeners with several functions in Kotlin. How to make them shine?](https://antonioleiva.com/listeners-several-functions-kotlin) - [Calling Kotlin from Java: start using Kotlin today (KAD 29)](https://antonioleiva.com/kotlin-from-java) - [Function references in Kotlin: use functions as lambdas everywhere](https://antonioleiva.com/function-references-kotlin) - [Anko layouts on Android. Should I forget about XMLs?](https://antonioleiva.com/anko-layouts-android) - [Kotlin DSL to write Gradle scripts on Android: Step by step walkthrough](https://antonioleiva.com/kotlin-dsl-gradle) - [Why Kotlin for Android online course is different from any other](https://antonioleiva.com/kotlin-android-online-course) - [Kotlin Android Extensions: Say goodbye to findViewById (KAD 04)](https://antonioleiva.com/kotlin-android-extensions) - [12 reasons why you should start using Kotlin for Android today (KAD 30)](https://antonioleiva.com/reasons-kotlin-android) - [Sealed classes in Kotlin: enums with super-powers (KAD 28)](https://antonioleiva.com/sealed-classes-kotlin) - [Objects in Kotlin: Create safe singletons in one line of code (KAD 27)](https://antonioleiva.com/objects-kotlin) - [Interfaces in Kotlin. Who said interfaces can't have code? (KAD 26)](https://antonioleiva.com/interfaces-kotlin) - [Databases on Android with Anko and Kotlin: SQLite never was so easy (KAD 25)](https://antonioleiva.com/databases-anko-kotlin) - [What do 17 Google Developers Experts for Android think about Kotlin?](https://antonioleiva.com/google-kotlin) - [Dialogs and alerts on Android using Anko and Kotlin (KAD 24)](https://antonioleiva.com/dialogs-android-anko-kotlin) - [How to mock final classes on Kotlin using Mockito 2 (KAD 23)](https://antonioleiva.com/mockito-2-kotlin) - [Unit tests on Android with Kotlin (KAD 22)](https://antonioleiva.com/unit-tests-android-kotlin) - [How to use Retrofit on android with Kotlin (KAD 21)](https://antonioleiva.com/retrofit-android-kotlin) - [How to use Dagger 2 on Android with Kotlin (KAD 20)](https://antonioleiva.com/dagger-android-kotlin) - [Say goodbye to NullPointerException. Working with nulls in Kotlin (KAD 19)](https://antonioleiva.com/nullity-kotlin) - [How lambdas work in Kotlin. setOnClickListener transformation (KAD 18)](https://antonioleiva.com/lambdas-kotlin-android) - [Operator Overload in Kotlin: Add standard operations to any class (KAD 17)](https://antonioleiva.com/operator-overload-kotlin) - [Writing a RecyclerView Adapter in Kotlin (KAD 16)](https://antonioleiva.com/recyclerview-adapter-kotlin) - [Property delegation in Kotlin: Assign values in Android without having the context (KAD 15)](https://antonioleiva.com/property-delegation-kotlin) - [Reified Types in Kotlin: how to use the type within a function (KAD 14)](https://antonioleiva.com/reified-types-kotlin) - [Using "when" expression in Kotlin: The "switch" with super powers (KAD 13)](https://antonioleiva.com/when-expression-kotlin) - [Take Realm to the next level with Kotlin](https://antonioleiva.com/kotlin-realm-extensions) - [Ninja Functions in Kotlin. Understanding the power of generics (KAD 12)](https://antonioleiva.com/generic-functions-kotlin) - [Functional operations with collections in Kotlin (KAD 11)](https://antonioleiva.com/functional-operations-collections-kotlin) - [Data Classes in Kotlin: save a good bunch of lines of code (KAD 10)](https://antonioleiva.com/data-classes-kotlin) - [Using Anko to run background tasks with Kotlin in Android (KAD 09)](https://antonioleiva.com/anko-background-kotlin-android) - [Extension functions in Kotlin: Extend the Android Framework (KAD 08)](https://antonioleiva.com/extension-functions-kotlin) - [Lambdas in Kotlin, and how they simplify Android development (KAD 07)](https://antonioleiva.com/lambdas-kotlin) - [Custom Views in Android with Kotlin (KAD 06)](https://antonioleiva.com/custom-views-android-kotlin) - [Kotlin integrations with Android SDK (KAD 05)](https://antonioleiva.com/kotlin-integrations-android-sdk) - [Classes in Kotlin: More power with less effort (KAD 03)](https://antonioleiva.com/classes-kotlin) - [Variables in Kotlin, differences with Java. var vs val (KAD 02)](https://antonioleiva.com/variables-kotlin) - [Create your first Android project using Kotlin (KAD 01)](https://antonioleiva.com/create-first-android-project-kotlin) - [Kotlin Recipes for Android (II): RecyclerView and DiffUtil](https://antonioleiva.com/recyclerview-diffutil-kotlin) - [Kotlin recipes for Android (I): OnGlobalLayoutListener](https://antonioleiva.com/kotlin-ongloballayoutlistener) - [Kotlin awesome tricks for Android](https://antonioleiva.com/kotlin-awesome-tricks-for-android) - [Set a click listener to a RecyclerView](https://antonioleiva.com/recyclerview-listener) - [Converting Plaid to Kotlin: Lessons learned (Part 2)](https://antonioleiva.com/plaid-kotlin-2) - [Converting Plaid to Kotlin: Lessons learned (Part 1)](https://antonioleiva.com/plaid-kotlin-1) - [Use Voice Search to integrate with Google Now](https://antonioleiva.com/voice_search_google_now) - [Functional Android (II): Collection operations in Kotlin](https://antonioleiva.com/collection-operations-kotlin) - [Layout animations on RecyclerView](https://antonioleiva.com/layout-animations-on-recyclerview) - [Unleash functional power on Android (I): Kotlin lambdas](https://antonioleiva.com/functional-programming-android-kotlin-lambdas) - [Branded launch screen: the new splash for Android](https://antonioleiva.com/branded-launch-screen) - [Operator overloading in Kotlin](https://antonioleiva.com/operator-overloading-kotlin) - [Functional operations over Views in ViewGroup using Kotlin](https://antonioleiva.com/functional-operations-viewgroup-kotlin) - [API request in Android the easy way using Kotlin](https://antonioleiva.com/api-request-kotlin) - [Kotlin for Android Developers: The book](https://antonioleiva.com/kotlin-android-developers) - [Design Support Library (IV): Collapsing Toolbar Layout](https://antonioleiva.com/collapsing-toolbar-layout) - [Design Support Library (III): Coordinator Layout](https://antonioleiva.com/coordinator-layout) - [Design Support Library (II): Floating Action Button](https://antonioleiva.com/floating-action-button) - [Design Support Library (I): Navigation View](https://antonioleiva.com/navigation-view) - [Kotlin for Android (IV): Custom Views and Android Extensions](https://antonioleiva.com/kotlin-android-custom-views) - [Kotlin for Android (III): Extension functions and default values](https://antonioleiva.com/kotlin-android-extension-functions) - [Kotlin for Android (II): Create a new project](https://antonioleiva.com/kotlin-android-create-project) - [Kotlin for Android (I): Introduction](https://antonioleiva.com/kotlin-for-android-introduction) - [Add multiple resource folders to an Android App](https://antonioleiva.com/android-multiple-resource-folders) - [Materialize your App](https://antonioleiva.com/materialize-app) - [Material Design Everywhere: Using AppCompat 21](https://antonioleiva.com/material-design-everywhere) - [RecyclerView in Android: The basics](https://antonioleiva.com/recyclerview) - [Dagger: Scoped object graphs (Part 3)](https://antonioleiva.com/dagger-3) - [Dagger: dependency injection on Android (Part 2)](https://antonioleiva.com/dagger-android-part-2) - [Dependency injection on Android: Dagger (Part 1)](https://antonioleiva.com/dependency-injection-android-dagger-part-1) - [SwipeRefreshLayout: How to use](https://antonioleiva.com/swiperefreshlayout) - [The power of TextView (Part 1): Drawables](https://antonioleiva.com/textview_power_drawables) - [Lead your Android App to success with Google Analytics (part 2)](https://antonioleiva.com/lead-your-android-app-to-success-with-google-analytics-part-2) - [Lead your Android App to success with Google Analytics (part 1)](https://antonioleiva.com/lead-android-app-success-google-analytics-part-1) - [ActionBarCompat (Part 3): Migrating from ActionBarSherlock](https://antonioleiva.com/actionbarcompat-migrating-actionbarsherlock) - [ActionBarCompat (Part 2): Action Views](https://antonioleiva.com/actionbarcompat-action-views) - [ActionBarCompat (Part 1): How to use](https://antonioleiva.com/actionbarcompat-how-to-use) - [Unveiling Bandhook (I): Foreground over any Layout](https://antonioleiva.com/unveiling-bandhook-foreground-any-layout) - [Android Unit Testing using Robolectric (I): Introduction](https://antonioleiva.com/android-unit-testing-using-robolectric-introduction)