Sign in

Jorge Castillo

@jorgecastillo.dev
1.7K followers 317 following 608 posts

Android at Disney+. Author of Jetpack Compose internals. 👨‍🏫 Compose course composeinternals.com 📖 Compose book jorgecastillo.dev/book

PostsRepliesMedia
Jorge Castillo @jorgecastillo.dev · 27/09/2026
Compose A2UI renderer is the type of tool that can change the nature and the future or Android apps. Imagine an app where some parts of its UI or flows are fully dynamic and delegated to an agent 👇
140
Jorge Castillo @jorgecastillo.dev · 21/08/2026
A quick reflection on AI and what we decide it to be 🧠🤔
020
Jorge Castillo @jorgecastillo.dev · 20/08/2026
Global ranking of testers for get12testers.com 🏆💯
130
Jorge Castillo @jorgecastillo.dev · 16/08/2026
OpenJDK is another example of a company forbidding the use of AI in contributions. openjdk.org/legal/ai
071
Jorge Castillo @jorgecastillo.dev · 15/08/2026
Jake Wharton announced yesterday that all the Lysine projects (OkHttp, Okio, Retrofit, SQLDelight…) don’t allow contributors to use LLMs to generate code or write PR descriptions/comments.
1025232
Jorge Castillo @jorgecastillo.dev · 10/08/2026
IN THEORY AppFunctions is the implementation of MCP for Android. Official docs say that other apps and agents than Gemini should be able to use them. Reality is that it is now blocked for Gemini only. Not sure if there’s any intention to open up that permission to other apps in the short-mid term.
021
Jorge Castillo @jorgecastillo.dev · 18/06/2026
People think 60fps means you’ve got 16.67ms to run each frame of your app. Nope. That time window is not full for your app to use 👇
000
Jorge Castillo @jorgecastillo.dev · 31/01/2026
This is what Gemini generated about all our conversations so far 🤩
140
Jorge Castillo @jorgecastillo.dev · 26/01/2026
A few shots
000
Jorge Castillo @jorgecastillo.dev · 26/01/2026
Backgrounds became an order of magnitude better on the platform now. Just added support for lots of beautiful ones! Go test them 🔥📸📱
100
Jorge Castillo @jorgecastillo.dev · 26/01/2026
Software devs coming to teach you clean architecture in 2026. Now more than ever
082
Jorge Castillo @jorgecastillo.dev · 26/01/2026
Just realised something. This type of feature should be in ScreenshotWhale. It just makes a lot of sense. A predefined set of backgrounds with fancy gradients that you can apply to either a single screenshot or all screenshots in a project.
000
Jorge Castillo @jorgecastillo.dev · 22/01/2026
Worked on something incredibly cool last night 🙈 Let me introduce automatic internationalization of your App Store and Play Store screenshots with ScreenshotWhale ✨🔥
010
Jorge Castillo @jorgecastillo.dev · 18/01/2026
ScreenshotWhale reached its first 100 users. This is going quick. I’m already working in the next feature: a big improvement for an already existing one. Will share more when that work is complete. Going for the first 200 📸📲
030
Jorge Castillo @jorgecastillo.dev · 13/01/2026
Just added align center option to layers in ScreenshotWhale ↔️↕️ The product keeps improving 🤩
020
Jorge Castillo @jorgecastillo.dev · 12/01/2026
Here is how I am helping vibe coders speedrun their App Store screenshot creation process. Removing the final bottleneck for indie mobile devs out there 🔥 If you want in, please use the EFFANDROID50 coupon to get a big 50% discount 🙌 Find it in screenshotwhale.com
010
Jorge Castillo @jorgecastillo.dev · 02/01/2026
iOS devs explaining the complexities of device fragmentation to Android devs
0181
Jorge Castillo @jorgecastillo.dev · 01/01/2026
Some of the diagrams in the Compose internals cohort course 🤩 These took a while to create, but really had a blast. There is some beauty on turning complex concepts into intuitive diagrams.
140
Jorge Castillo @jorgecastillo.dev · 27/12/2025
course discount has been performing great. It was meant to end on Xmas day, but quite a few people asked yesterday and today about it and I see no reason to not extend it until end of the year. Price will get back to normal on Jan 1. effectiveandroid.gumroad.com/l/dfedea/ddw...
010
Jorge Castillo @jorgecastillo.dev · 26/12/2025
Android devs milliseconds after typing “gradle build”
1182
Jorge Castillo @jorgecastillo.dev · 24/12/2025
Liquid Glass shader in Jetpack Compose using AGSL ✨
0111
Jorge Castillo @jorgecastillo.dev · 23/12/2025
One more Jetpack Compose + AGSL warping effect shader
030
Jorge Castillo @jorgecastillo.dev · 23/12/2025
You can do cool things with shaders in Compose using RuntimeShader and AGSL (Android Graphics Shading Language). Here is a warping effect shader 😵‍💫 This code runs directly on the GPU using Android's RenderEngine.
151
Jorge Castillo @jorgecastillo.dev · 23/12/2025
Strong skipping has been enabled by default for a while in Compose, yet official docs still say things like unstable params make Composables not skippable. Very confusing if you ask me, especially for people starting with Compose. developer.android.com/develop/ui/c...
040
Jorge Castillo @jorgecastillo.dev · 22/12/2025
An example of what you can do with shaders in Jetpack Compose By abduzeedo.
0132
Jorge Castillo @jorgecastillo.dev · 17/12/2025
Kotlin 2.3.0 release landed yesterday and it includes the new explicit backing fields feature (experimental)
0120
Jorge Castillo @jorgecastillo.dev · 08/12/2025
Every Android dev when starting a new project
350
Jorge Castillo @jorgecastillo.dev · 05/12/2025
Ok let's make this happen. Paperback version of Jetpack Compose Internals around the corner 🧐📖 No sense that it took me so long to do this tbh.
020
Jorge Castillo @jorgecastillo.dev · 25/10/2025
Deferring state reads in Compose helps avoid extra recompositions ⚡️ Read state only where it’s needed, for example by passing a lambda instead of the value. Even better, use lambda-based modifiers like offset {} or drawBehind {} so reads happen in layout or draw, skipping composition completely.
130
Jorge Castillo @jorgecastillo.dev · 27/09/2025
Added a couple new features to ScreenshotWhale 🐋
010
Jorge Castillo @jorgecastillo.dev · 24/09/2025
Composition, Layout, Drawing. Compose goes through the 3 phases to produce a frame. But they can skip independently. Where you read state matters. Not the same reading it during composition than during layout. Thats why it’s often better to use lambda version of some modifiers.
010
Jorge Castillo @jorgecastillo.dev · 16/09/2025
Isn't it beautiful 🤩
Isn't it beautiful 🤩
030
Jorge Castillo @jorgecastillo.dev · 15/09/2025
Discussing Subcomposition and when NOT to use it 🧐 vm.tiktok.com/ZNdgAHnd4/
000
Jorge Castillo @jorgecastillo.dev · 14/09/2025
When you said “the number of DEVS”, but you don’t want to edit
When you said “the number of DEVS”, but you don’t want to edit
030
Jorge Castillo @jorgecastillo.dev · 14/09/2025
Adding extra screenshots to any device type is possible now 🙌 I've been putting so much time and energy on creating fancy features this week that totally forgot about this super basic one 🫣🤯 Start creating your own Android or iOS app store screenshots in screenshotwhale.com 🐋
130
Jorge Castillo @jorgecastillo.dev · 13/09/2025
Just added project settings option to screenshotwhale.com 🐋 Now you can kick-off your screenshots blazing fast 🔥
040
Jorge Castillo @jorgecastillo.dev · 12/09/2025
New branding for my app screenshot generation site 🐋💦🤩 Founding members already getting access. Getting closer to the official open release every day!
New branding for my app screenshot generation site 🐋💦🤩

Founding members already getting access. Getting closer to the official open release every day!
020
Jorge Castillo @jorgecastillo.dev · 09/09/2025
Your GitHub history can look like this, and it’s ok. If you know you can do a job, apply. I've met so many great devs that weren't active on GitHub publicly. We need to understand that not everybody prioritizes side projects, for many reasons. And that does not invalidate them for the job, at
Your GitHub history can look like this, and it’s ok.

If you know you can do a job, apply. I've met so many great devs that weren't active on GitHub publicly.

We need to understand that not everybody prioritizes side projects, for many reasons. And that does not invalidate them for the job, at
071
Jorge Castillo @jorgecastillo.dev · 06/09/2025
My thoughts when iOS devs started complaining about having to support more than 2 form factors.
My thoughts when iOS devs started complaining about having to support more than 2 form factors.
060
Jorge Castillo @jorgecastillo.dev · 06/09/2025
Generated these using Storeshots just now ✨ I am using the actual StoreShots own editor to quickly create all the templates that will be available in the platform.
Generated these using Storeshots just now ✨

I am using the actual StoreShots own editor to quickly create all the templates that will be available in the platform.Generated these using Storeshots just now ✨

I am using the actual StoreShots own editor to quickly create all the templates that will be available in the platform.Generated these using Storeshots just now ✨

I am using the actual StoreShots own editor to quickly create all the templates that will be available in the platform.Generated these using Storeshots just now ✨

I am using the actual StoreShots own editor to quickly create all the templates that will be available in the platform.
020
Jorge Castillo @jorgecastillo.dev · 04/09/2025
Many of you asked, now it’s live. Just unlocked PPP pricing 🌍 and 2-installment payments for the Jetpack Compose Internals course 🚀 Don’t miss this chance to grab it cheaper before you regret it. effectiveandroid.gumroad.com/l/dfed…
Many of you asked, now it’s live.

Just unlocked PPP pricing 🌍 and 2-installment payments for the Jetpack Compose Internals course 🚀

Don’t miss this chance to grab it cheaper before you regret it.

https://effectiveandroid.gumroad.com/l/dfedea
040
Jorge Castillo @jorgecastillo.dev · 03/09/2025
I wrote about my journey with Compose. From sharing online, to writing a book, to launching a course, to making side income from it. If you’re thinking about doing something similar, I hope this gives you a push 🙌 composeinternals.com/how-i-made-s...
010
Jorge Castillo @jorgecastillo.dev · 03/09/2025
15,000 people decided to hit follow. that number feels surreal. Thank you for reading, supporting, and sharing along the way. Every connection here has made this journey richer, and i’m grateful to be part of this community. Love ya ❤️
15,000 people decided to hit follow. that number feels surreal.

Thank you for reading, supporting, and sharing along the way. Every connection here has made this journey richer, and i’m grateful to be part of this community. Love ya ❤️
150
Jorge Castillo @jorgecastillo.dev · 02/09/2025
Smart recomposition is what makes Jetpack Compose feel fast and efficient. But the real magic behind it is recomposition scopes ✨ I wrote a breakdown that explains what they are, how they work under the hood, and why they matter for performance (with examples) 👇 composeinternals.com/c
Smart recomposition is what makes Jetpack Compose feel fast and efficient. But the real magic behind it is recomposition scopes ✨

I wrote a breakdown that explains what they are, how they work under the hood, and why they matter for performance (with examples) 👇

https://composeinternals.com/c
110
Jorge Castillo @jorgecastillo.dev · 31/08/2025
Love this pearl that I received some time ago for the GDE program. Looks perfect on the shelf 🤩 Compose all the things! 🦸‍♂️🚀
Love this pearl that I received some time ago for the GDE program. Looks perfect on the shelf 🤩

Compose all the things! 🦸‍♂️🚀
050
Jorge Castillo @jorgecastillo.dev · 31/08/2025
Every wondered what concurrency strategy the Compose runtime uses to coordinate state writes, and why? Learn about MVCC (Multiversion Concurrency Control) on this post I wrote some time ago. composeinternals.com/concurrency-co…
Every wondered what concurrency strategy the Compose runtime uses to coordinate state writes, and why? Learn about MVCC (Multiversion Concurrency Control) on this post I wrote some time ago.

https://composeinternals.com/concurrency-control-in-jetpack-compose
020
Jorge Castillo @jorgecastillo.dev · 30/08/2025
People still think degrees, honors, and certificates matter in tech. Reality: no company cares. They want proof you can ship, learn fast, and solve problems.
People still think degrees, honors, and certificates matter in tech.

Reality: no company cares. They want proof you can ship, learn fast, and solve problems.
130
Jorge Castillo @jorgecastillo.dev · 27/08/2025
Programmers. Twin part is that same dev can be one or the other, depending on the day. Via @midudev
Programmers.

Twin part is that same dev can be one or the other, depending on the day.

Via @midudev
010
Jorge Castillo @jorgecastillo.dev · 27/08/2025
Kotlin Multiplatform Wizard 🔥 kmp.jetbrains.com/?android=true&ios…
Kotlin Multiplatform Wizard 🔥

https://kmp.jetbrains.com/?android=true&ios=true&iosui=compose&includeTests=true
030
Jorge Castillo @jorgecastillo.dev · 26/08/2025
Facts
Facts
040