Sign in

John O'Reilly

@johnoreilly.dev
1.6K followers 347 following 1.3K posts

•Software Engineer •Android #GDE •Open-source #KMP/#CMP projects: github.com/joreilly •Blog: johnoreilly.dev •Living in Galway, Ireland 🇮🇪

PostsRepliesMedia
John O'Reilly @johnoreilly.dev · 10h
Added deep link support to FantasyPremierLeague #KMP sample using the new Navigation 3 deep link support. github.com/joreilly/Fan... One set of matchers in shared code that works on Android and iOS (and desktop), with a synthetic back stack so it lands in the list-detail layout.
030
John O'Reilly @johnoreilly.dev · 29/09/2026
The analysis itself was created using Gemini 3.8 (from video I uploaded), the specific TTS model I'm using is "Gemini 3.8 Flash-Lite TTS" and the prompt was created by Claude 😀
000
John O'Reilly @johnoreilly.dev · 29/09/2026
Tried out Gemini 3.8 TTS in the FormAI app. A cool thing about this is that you can design your own voice 😀 "A warm, encouraging golf coach in his late 40s with a soft, lilting Galway accent from the west of Ireland, speaking with calm authority and plain, friendly directness."
120
Reposted by John O'Reilly
Mark Murphy @commonsware.com · 29/09/2026
OK, I released jetc.dev Newsletter Issue #333! Stable Wear Compose and Nav3! Compose Multiplatform patch! @johnoreilly.dev on A2UI! Compose for Web and CORS! Android TV search screen! jetc.dev/issues/333 #JetpackCompose #AndroidDev
023
Reposted by John O'Reilly
Android Weekly @androidweekly.bsky.social · 27/09/2026
Latest Android Weekly Issue 746 is out! androidweekly.net/issues/issue... #AndroidDev #Kotlin
androidweekly.net
Android Weekly - Free weekly Android & Kotlin development newsletter
Android Weekly is a free newsletter that helps you to stay cutting-edge with your Android Development.
041
John O'Reilly @johnoreilly.dev · 26/09/2026
Inspired by x.com/milos_gis/st..., I got Claude to create version for Galway Buses (based on data I'm using in github.com/joreilly/Gal...). Pretty cool!
030
John O'Reilly @johnoreilly.dev · 25/09/2026
SKIE 0.10.15 has been released...which means I've been able to update PeopleInSpace KMP sample to Kotlin 2.4.20! github.com/joreilly/Peo...
github.com
GitHub - joreilly/PeopleInSpace: Kotlin Multiplatform sample with SwiftUI, Jetpack Compose, Compose for Wear, Compose for Desktop, and Compose for Web clients along with Ktor backend.
Kotlin Multiplatform sample with SwiftUI, Jetpack Compose, Compose for Wear, Compose for Desktop, and Compose for Web clients along with Ktor backend. - joreilly/PeopleInSpace
020
John O'Reilly @johnoreilly.dev · 25/09/2026
Agenda for @droidcon.bsky.social London now in Confetti (github.com/joreilly/Con...)
110
John O'Reilly @johnoreilly.dev · 25/09/2026
This is based as mentioned on the ClimateTrace #KMP/#CMP sample (github.com/joreilly/Con...). Hopefully that library will support Compose Multiplatform at some point (directly or perhaps through JB fork) and can use it for other platforms in the project.
github.com
GitHub - joreilly/Confetti: KMP/CMP GraphQL based conference project with Jetpack Compose Android, Compose for Wear, and Compose Multiplatform Desktop, Web and iOS clients along with GraphQL backend.
KMP/CMP GraphQL based conference project with Jetpack Compose Android, Compose for Wear, and Compose Multiplatform Desktop, Web and iOS clients along with GraphQL backend. - joreilly/Confetti
000
John O'Reilly @johnoreilly.dev · 24/09/2026
Using new Jetpack Compose A2UI library to show UI (cards, charts, tabs etc) generated by a Koog based AI agent in the ClimateTrace sample, including custom components and handling user actions @androiddevs.bsky.social johnoreilly.dev/posts/a2ui-c... Really cool to see these capabilities emerging!
johnoreilly.dev
Rendering AI agent generated UI using Jetpack Compose A2UI and Koog
A2UI is a protocol that allows an AI agent to describe a user interface as JSON which the client then renders using its own native components (the agent can only make use of components from a “catalog...
2134
John O'Reilly @johnoreilly.dev · 21/09/2026
Not that I'm come across so far but probably some limitations.
010
John O'Reilly @johnoreilly.dev · 21/09/2026
For those not familiar, CHIP-8 is an interpreted programming language and virtual machine created in the mid-1970s to make video game development simple for beginners. And shout out also to the original repo this was forked from github.com/cbeust/chip-8
github.com
GitHub - cbeust/chip-8: A Chip-8 emulator written in Kotlin
A Chip-8 emulator written in Kotlin. Contribute to cbeust/chip-8 development by creating an account on GitHub.
010
John O'Reilly @johnoreilly.dev · 20/09/2026
I asked Claude to improve the UX for the Chip-8 #KMP sample (github.com/joreilly/chi...) and really like what it did....including cool Phosphor CRT display UI!
130
John O'Reilly @johnoreilly.dev · 20/09/2026
BikeShare #KMP/#CMP sample (github.com/joreilly/Bik...) updated to use the MapComposeMP library (github.com/p-lr/MapComp...) in the Android, Desktop and Web Compose Multiplatform clients. The SwiftUI iOS client is still using MapKit.
010
Reposted by John O'Reilly
seb @sebastiano.dev · 20/09/2026
I started reimplementing nice iOS and web UI showcases in Compose for desktop, together with @csinco.com. They're vibe coded, because the point is "anyone can do this today if they want to". You can find them on github.com/rock3r/biopa..., and we'll keep on growing it!
github.com
GitHub - rock3r/bioparco: A public collection of cute Compose Desktop experiments
A public collection of cute Compose Desktop experiments - rock3r/bioparco
155
John O'Reilly @johnoreilly.dev · 19/09/2026
TIL you can get IntelliJ to sync project with later AGP version than it officially supports (e.g. one that Android Studio supports and is sometimes required for latest Compose etc) by setting following in idea.properties gradle.ide.support.future.agp.versions=true
idea.properties
1103
John O'Reilly @johnoreilly.dev · 19/09/2026
Claude very handy for this 😀. This is using the MCP server from the FantasyPremierLeague KMP sample (github.com/joreilly/Fan...) ...which was developed in turn using the Kotlin MCP SDK (github.com/modelcontext...).
020
John O'Reilly @johnoreilly.dev · 19/09/2026
Making some small changes to SwiftUI iOS client in the PeopleInSpace #KMP sample (github.com/joreilly/Peo...) to allow rendering of list/detail as shown here on iPhone Duo simulator (needed to start using NavigationSplitView).
020
John O'Reilly @johnoreilly.dev · 18/09/2026
And 2 other #KMP applications running side by side on iPhone Duo 😀 - Confetti (github.com/joreilly/Con...) -> fully Compose Multiplatform - PeopleInSpace github.com/joreilly/Peo...) -> SwiftUI with some embedded #CMP UI
020
John O'Reilly @johnoreilly.dev · 18/09/2026
GalwayBus (github.com/joreilly/Gal...) Compose Multiplatform application running on iPhone Duo simulator (using Xcode 27.1 beta). Not fully taking advantage of form factor yet but cool to see it running.
160
John O'Reilly @johnoreilly.dev · 18/09/2026
Xcode 27.1 beta available now....with iPhone Duo support
011
John O'Reilly @johnoreilly.dev · 18/09/2026
Some of sessions from @droidcon.bsky.social London 10 years ago! Quite different topics back then....not even a hint of AI 😀
010
John O'Reilly @johnoreilly.dev · 17/09/2026
Migrate iOS, Flutter, and React Native apps to Android developer.android.com/studio/previ...
developer.android.com
Release notes for Android Studio preview  |  Android Developers
Discover new features and changes in Android Studio preview.
040
John O'Reilly @johnoreilly.dev · 17/09/2026
Compose Multiplatform client → AG-UI → Google ADK agent (Kotlin) → MCP server for tools. #Kotlin the whole way down! • AG-UI Kotlin SDK — github.com/ag-ui-protoc... • Google ADK for Kotlin — github.com/google/adk-k... • Kotlin MCP SDK — github.com/modelcontext...
011
Reposted by John O'Reilly
Nicolas Hénin @nicolashenin.net · 17/09/2026
Nice campaign by the Norwegian Consumer Council about the declining lifespan of products. Enjoy!
180140426455
John O'Reilly @johnoreilly.dev · 16/09/2026
Xcode 27.2 beta available but no support for iPhone Duo yet 🙁
000
John O'Reilly @johnoreilly.dev · 16/09/2026
Änderungsschleifenerlösung The profound sense of spiritual and physical salvation experienced at the exact moment you click "Merge Pull Request" after surviving a grueling, seemingly endless cycle of code reviews and requested changes. 😀
020
John O'Reilly @johnoreilly.dev · 16/09/2026
Just bought ticket for @kotlinconf.com 2027 (kotlinconf.com). Really looking forward to my first visit to Kraków! 🇵🇱
170
John O'Reilly @johnoreilly.dev · 13/09/2026
Gradually migrating a number of #KMP samples to use Swift Export instead of SKIE. In this case was only possible since Kotlin 2.4.20 release (with support for Swift subclassing an exported Kotlin class) github.com/joreilly/Fir...
github.com
Replace SKIE with Kotlin Swift export by joreilly · Pull Request #100 · joreilly/FirebaseAILogicKMPSample
Summary Swift export now covers everything SKIE was doing in this repo: Kotlin suspend functions map to Swift async throws , and Swift implements the Kotlin GenerativeModel interface directly. Swif...
031
Reposted by John O'Reilly
Kotlin Weekly @kotlinweekly.bsky.social · 13/09/2026
Kotlin Weekly #528 has just been published! - mailchi.mp/kotlinweekly...
mailchi.mp
Kotlin Weekly #528
063
John O'Reilly @johnoreilly.dev · 11/09/2026
Block pull requests with exposed secrets from merging github.blog/changelog/20...
github.blog
Block pull requests with exposed secrets from merging - GitHub Changelog
Repository rulesets allow you to easily add scalable protections across your repositories. Starting today, you can use repository rulesets to block pull requests from merging when the pull request int...
011
Reposted by John O'Reilly
Jaewoong Eum (skydoves) @skydoves.bsky.social · 08/09/2026
I just published a new open-source project, Now in Android KMP! This is a full Kotlin Multiplatform and Compose Multiplatform port of Google's Now in Android sample on Android, iOS, Desktop, and Wasm, github.com/skydoves/now...
github.com
GitHub - skydoves/nowinandroid-kmp: 📱 Now in Android KMP is a full Kotlin Multiplatform port of Google's Now in Android sample.
📱 Now in Android KMP is a full Kotlin Multiplatform port of Google's Now in Android sample. - skydoves/nowinandroid-kmp
3233
Reposted by John O'Reilly
Android Weekly @androidweekly.bsky.social · 06/09/2026
Latest Android Weekly Issue 743 is out! androidweekly.net/issues/issue... #AndroidDev #Kotlin
androidweekly.net
Android Weekly - Free weekly Android & Kotlin development newsletter
Android Weekly is a free newsletter that helps you to stay cutting-edge with your Android Development.
082
John O'Reilly @johnoreilly.dev · 06/09/2026
Skills vs MCP vs RAG vs Memory: What AI Agents Need to Know www.youtube.com/watch?v=X4FV...
youtube.com
Skills vs MCP vs RAG vs Memory: What AI Agents Need to Know
YouTube video by IBM Technology
161
John O'Reilly @johnoreilly.dev · 05/09/2026
Using the new Google Gen AI SDK for Kotlin johnoreilly.dev/posts/genai-...
johnoreilly.dev
Using the new Google Gen AI SDK for Kotlin
Google have just released version 1.0 of the Gen AI SDK for Kotlin, an idiomatic Kotlin client for the Gemini APIs. Up to now, calling Gemini from Kotlin has generally meant use of one of the Firebase...
020
John O'Reilly @johnoreilly.dev · 05/09/2026
Emulator control for adaptive app development >> useful option to have when using the resizable emulator for example #AndroidDev android-developers.googleblog.com/2026/08/emul...
android-developers.googleblog.com
Emulator control for adaptive app development
News and insights on the Android platform, developer tools, and events.
010
Reposted by John O'Reilly
Guillaume Laforge @glaforge.dev · 04/09/2026
The #Google GenAI SDK for @Kotlin is now 1.0! If you build on #Android, #Ktor, #SpringBoot, or desktop Kotlin apps, you now have an idiomatic Kotlin Multiplatform library to interact with #Gemini. Here is a quick tour of what is inside 🧵👇
263
John O'Reilly @johnoreilly.dev · 03/09/2026
Recordings for @kotlinconf.com 2026 sessions are now available in Confetti (github.com/joreilly/Con...) ....and of course in the official KotlinConf app as well! Thanks @zsmb.co
081
John O'Reilly @johnoreilly.dev · 03/09/2026
PeopleInSpace (github.com/joreilly/Peo...) now has a Windows client 🪟 A WinUI 3 app consuming the same Kotlin Multiplatform shared code....via a new mingwX64 target packed into a NuGet package with kotlin-native-nuget (github.com/xxfast/kotli...). Great work by @xxfast.bsky.social 🙌
021
John O'Reilly @johnoreilly.dev · 02/09/2026
The Pragmatic Programmer (a.co/d/0jeAYXZt) 27 years ago compared software development to tending an organic, evolving garden. I think most, if not all, aspects of that metaphor still hold in the era of AI coding agents but now including elements of industrial farming! 😀
020
John O'Reilly @johnoreilly.dev · 02/09/2026
Using Gemini definitely provides, as expected, a better/faster response but could be interesting to have a hybrid approach where it can fall back to on-device Gemma model if for example couldn't connect to cloud for any reason.
000
John O'Reilly @johnoreilly.dev · 01/09/2026
Running golf swing analysis on an Android device with a fine-tuned Gemma 4 model johnoreilly.dev/posts/formai... @googlegemma.bsky.social
johnoreilly.dev
Running golf swing analysis on an Android device with a fine-tuned Gemma 4 model
FormAI is a Kotlin Multiplatform app that analyses a video of your golf swing, basketball shot or running form and gives you coaching feedback. Up to now that has always meant uploading the video to G...
111
John O'Reilly @johnoreilly.dev · 31/08/2026
There's still a lot I don't fully understand yet about how this process works but feel at least I have a reproducible approach (using LoRA) for fine-tuning on-device LLMs like this on a local MacBook (albeit one that's pretty powerful).
000
John O'Reilly @johnoreilly.dev · 31/08/2026
Happy Monday from a somewhat sunny West of Ireland!
040
John O'Reilly @johnoreilly.dev · 30/08/2026
I'm running it on a Pixel 10 Pro XL and probably needs pretty high end device as setup right now.....and, even then, takes around 100s to run. There are perhaps more optimisations that can be done but not sure how much that can be improved.
100
John O'Reilly @johnoreilly.dev · 30/08/2026
Clearly on a completely different scale but got throwback doing this to Masters project over 35 years ago where I was training neural networks to recognise speech phonemes.....just a *few* things have changed since then 😀
110
John O'Reilly @johnoreilly.dev · 30/08/2026
Got Claude to generate article summarising back and forth we've had to fine-tune Gemma 4 for on-device golf swing analysis! Needed some coaxing, cajoling and redirection but seems to work quite well now..albeit quite slow compared to using Gemini directly. johnoreilly.dev/posts/formai...
johnoreilly.dev
Fine-tuning Gemma 4 E4B with LoRA to bring FormAI's coaching on-device
⚠️ Note: this post is AI-generated. The text below was written by Claude, and documents findings from a series of Claude Code sessions working on this project — the experiments, bugs and measurements ...
221
John O'Reilly @johnoreilly.dev · 30/08/2026
Layla and Prince (the puppy 😀)
010
John O'Reilly @johnoreilly.dev · 30/08/2026
Sleepy doggies 😀
150
John O'Reilly @johnoreilly.dev · 29/08/2026
Current status: using one AI (Claude) to build a pipeline where a second AI (Gemini) is teaching a third AI (Gemma) to be a golf coach 😀
000