41554 blogs · [ { "id": "01a0d927-3931-7027-9048-3dc9b6196121", "title": "Rendering AI agent generated UI using Jetpack Compose A2UI and Koog", "url": "https://johnoreilly.dev/posts/a2ui-compose-koog/", "published_at": "2026-09-23T23:00:00+00:00" }, { "id": "01a0878f-92a3-7031-bb71-71b0a17fd278", "title": "Using the new Google Gen AI SDK for Kotlin", "url": "https://johnoreilly.dev/posts/genai-kotlin-sdk/", "published_at": "2026-09-04T23:00:00+00:00" }, { "id": "01a0878f-92a3-7031-bb71-71b0a21be490", "title": "Running golf swing analysis on an Android device with a fine-tuned Gemma 4 model", "url": "https://johnoreilly.dev/posts/formai-gemma4-ondevice/", "published_at": "2026-08-29T23:00:00+00:00" }, { "id": "01a0878f-92a3-7031-bb71-71b0a22f1427", "title": "Engineering log: fine-tuning Gemma 4 E4B with LoRA to bring FormAI’s coaching on-device", "url": "https://johnoreilly.dev/posts/formai-gemma4-lora/", "published_at": "2026-08-28T23:00:00+00:00" }, { "id": "01a0878f-92a3-7031-bb71-71b0a27cdc81", "title": "Scanning bus stop codes with ML Kit and Vision in the GalwayBus Compose Multiplatform app", "url": "https://johnoreilly.dev/posts/galwaybus-scan-stop-kmp/", "published_at": "2026-08-06T23:00:00+00:00" }, { "id": "01a0878f-92a3-7031-bb71-71b0a29aa77c", "title": "Adding a Koog AI assistant (with structured output) to the FantasyPremierLeague CMP sample", "url": "https://johnoreilly.dev/posts/fpl-koog-structured-output/", "published_at": "2026-07-27T23:00:00+00:00" }, { "id": "01a0878f-92a3-7031-bb71-71b0a30f0ab9", "title": "Adding embeddings/RAG support to the Koog-based AI agent in Confetti", "url": "https://johnoreilly.dev/posts/confetti-koog-rag/", "published_at": "2026-05-25T23:00:00+00:00" }, { "id": "01a0878f-92a3-7031-bb71-71b0a3afd557", "title": "Using Navigation 3 with Compose Multiplatform", "url": "https://johnoreilly.dev/posts/navigation3-cmp/", "published_at": "2025-11-15T00:00:00+00:00" }, { "id": "01a0878f-92a3-7031-bb71-71b0a4269a75", "title": "Deploying a Kotlin-based remote MCP Server to Google Cloud Run", "url": "https://johnoreilly.dev/posts/remote-mcp/", "published_at": "2025-07-26T23:00:00+00:00" }, { "id": "01a0878f-92a3-7031-bb71-71b0a5065b0c", "title": "Using Google’s Agent Development Kit for Java from Kotlin code", "url": "https://johnoreilly.dev/posts/kotlin-adk/", "published_at": "2025-07-10T23:00:00+00:00" }, { "id": "01a0878f-92a3-7031-bb71-71b0a59cf82c", "title": "Initial exploration of using Koog for developing Kotlin based AI agents", "url": "https://johnoreilly.dev/posts/kotlin-koog/", "published_at": "2025-06-21T23:00:00+00:00" } ] posts Claim your blog
Back to johnoreilly.dev
Blog · corpus.blog/blogs/johnoreilly.dev/posts

johnoreilly.dev

johnoreilly.dev

2026

2025