Ralf's Avatar

Ralf

@ralf-wondratschek.com.bsky.social

https://ralf-wondratschek.com/ | Principal engineer at Amazon, formerly tech lead at Square and Evernote | GoogleDevExpert for Android | Loving DI too much https://github.com/amzn/kotlin-inject-anvil

970 Followers  |  123 Following  |  72 Posts  |  Joined: 03.11.2024  |  2.1984

Latest posts by ralf-wondratschek.com on Bluesky

Preview
GitHub - Evernote/android-job: Android library to handle jobs in the background. Android library to handle jobs in the background. Contribute to Evernote/android-job development by creating an account on GitHub.

Can I delete this now? github.com/Evernote/and...

02.08.2025 02:06 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Changelog - App Platform A lightweight application framework for state and memory management suitable for Kotlin Multiplatform projects.

We published a new version of App Platform with back button support. We also added recipes for saving presenter state, app bar integration and backstack navigation.

Working with Compose in the business logic (Molecule) and UI (Compose Multiplatform) is so much fun.

amzn.github.io/app-platform...

25.07.2025 18:03 β€” πŸ‘ 8    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
GitHub - uber/needle: Compile-time safe Swift dependency injection framework Compile-time safe Swift dependency injection framework - uber/needle

Today I learned that Cleanse from Square was deprecated. I haven't tried Needle yet, but it makes the same promises as Dagger.

github.com/uber/needle

24.07.2025 15:46 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Singleton in the scope by default, based on the large codebases I've seen. I've written @SingleIn way too often and explained way too often why a class doesn't need to be a Singleton. I want this to be explicit.

18.07.2025 14:17 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Anvil was quite successful inside and outside of Square, but now it's time for the next big improvement. Metro is 95% of what I pitched as Dagger 3 within Square. I'm excited.

18.07.2025 14:02 β€” πŸ‘ 20    πŸ” 4    πŸ’¬ 1    πŸ“Œ 0
Preview
Release 0.34.0 Β· vanniktech/gradle-maven-publish-plugin Added configuration cache support for publishing. Removed support for publishing through Sonatype OSSRH since it has been shut down. See the 0.33.0 release notes for upgrade instructions if you hav...

Version 0.34.0 of the gradle-maven-publish-plugin finally comes with configuration cache support. Dropping support for Sonatype OSSRH unblocked us from waiting for Gradle to resolve the underlying issue on their side.

github.com/vanniktech/g...

14.07.2025 09:53 β€” πŸ‘ 16    πŸ” 5    πŸ’¬ 0    πŸ“Œ 0

I had problems upgrading to the latest version of IntelliJ IDEA and Android Studio with the new Kotlin Multiplatform plugin. But now that it's working and Compose Hot Reload is running the integration is pretty nice.

(This was my issue: youtrack.jetbrains.com/issue/KMT-11... )

15.07.2025 04:55 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

This is where I found AI tools to be helpful.

06.07.2025 18:26 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Chasing Swallowed Exceptions Handling uncaught errors and crashes in testing

That reminded me of this old issue: developer.squareup.com/blog/chasing...

02.07.2025 23:50 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

This is great. Unlimited PTO is a trap. Amazon works very similar to Bolt and learnt to like this a lot.

www.kron4.com/news/technol...

02.07.2025 01:56 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 2    πŸ“Œ 0
Scale your Kotlin Multiplatform projects using dependency injection | Ralf Wondratschek
YouTube video by Kotlin by JetBrains Scale your Kotlin Multiplatform projects using dependency injection | Ralf Wondratschek

The recording is now online: www.youtube.com/watch?v=oRKy...

19.06.2025 19:05 β€” πŸ‘ 8    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Two weeks of pain and it's over.

28.05.2025 23:59 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
App Platform A lightweight application framework for state and memory management suitable for Kotlin Multiplatform projects.

The new version of App Platform is out with support for Wasm! The wiki has integrated the Wasm sample application from the repository to see the code in action.

amzn.github.io/app-platform/

28.05.2025 22:31 β€” πŸ‘ 8    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

It would increase the pressure on Google to ship libraries with CMP from the beginning. I don't see them making such an investment at this point in time. At least they put the right abstractions in place to support CMP, which is already a big win.

27.05.2025 13:35 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I uploaded the slides of my presentation. Thank you all for coming πŸ™

ralf-wondratschek.com/presentation...

24.05.2025 04:22 β€” πŸ‘ 18    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Post image

The problem was very well summarised and the solution well explained. Great talk!

23.05.2025 15:00 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Schedule | KotlinConf 2025, May 21–23, Copenhagen KotlinConf is the official Kotlin conference by JetBrains. It is a place for the community to gather and discuss all things Kotlin.

Kotlin Conf is great and a lot of fun. I'm closing today with my session "Scale your Kotlin Multiplatform projects using dependency injection". I hope some folks are still around and don't travel home yet 😊

kotlinconf.com/schedule/?da...

23.05.2025 07:14 β€” πŸ‘ 10    πŸ” 0    πŸ’¬ 1    πŸ“Œ 1

Indeed, we improved every parts of ADB Wifi pipeline. Besides support in Studio, you need ADB 36.0.1 (to be released soon) and Android 16.

22.05.2025 01:11 β€” πŸ‘ 12    πŸ” 2    πŸ’¬ 1    πŸ“Œ 1

I'm waiting for the AI agents from German companies named GΓΌnther, JΓΌrgen or Klaus.

20.05.2025 19:16 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Where does one start with improving Android app performance? Should I start with writing benchmarks to establish a baseline? Should I enable StrictMode and LeakCanary first? How can I implement metrics in production?

Are there any good guides for beginners you'd recommend?

07.05.2025 02:12 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

That's me! I'm really excited about this topic and look forward to giving this talk at KotlinConf. I'll summarize how we got here and how painless dependency injection can be.

25.04.2025 16:50 β€” πŸ‘ 9    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
FAQ - App Platform A lightweight application framework for state and memory management suitable for Kotlin Multiplatform projects.

This was asked a few times and I now answered this in the FAQ. I'm not allowed to share more details πŸ™ƒ

amzn.github.io/app-platform...

22.04.2025 22:46 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

You have no idea how much this means. I've literally spent the last week only writing documentation and updating our internal docs for the outside world.

18.04.2025 04:04 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I'm really proud of the project. I personally put in a lot of effort over the years at Amazon to get it launched and adopted in multiple orgs. And I believe it's useful outside of Amazon, too!

17.04.2025 21:59 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

App Platform is a culmination of solutions we developed and deployed in our own apps over the last 2.5 years. Some of the concepts aren't new and became best practices in the industry. With that we're curious to hear what you think, whether the project is helpful and look forward to collaborating.

17.04.2025 21:59 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

The best part is that it's ready for Kotlin Multiplatform and Compose Multiplatform from day one. We use App Platform to share code between Android, iOS and Linux machines.

17.04.2025 21:59 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

For instructions on how to use the framework, which features it provides, and how you can adopt it, please take a look at the documentation: amzn.github.io/app-platform/

17.04.2025 21:59 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
App Platform A lightweight application framework for state and memory management suitable for Kotlin Multiplatform projects.

App Platform Launched

App Platform is a lightweight application framework for state and memory management suitable for Kotlin Multiplatform projects. I'm happy to announce that we open-sourced the project today!

amzn.github.io/app-platform/

17.04.2025 21:59 β€” πŸ‘ 22    πŸ” 4    πŸ’¬ 3    πŸ“Œ 0

Now the challenge is remembering the timestamp. I've been there too often.

09.04.2025 13:54 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

This is fantastic. This is so close to what I wanted Dagger 3 to be when I proposed this 5 years ago at Square. Well done @zacsweers.dev πŸ™

03.04.2025 16:39 β€” πŸ‘ 17    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0

@ralf-wondratschek.com is following 20 prominent accounts