Ralf Wondratschek

329 Followers
71 Following
171 Posts
Senior staff engineer at Block / Square, formerly Principal Engineers at Amazon and Evernote | GoogleDevExpert for Android
Websitehttps://ralf-wondratschek.com/

This is such a good summary about the state of Germany. I left 8 years ago and could not see myself raising our daughter there anymore. He discusses quality of life degrading, safety concerns, tax and insurance rates being unsustainable, abuse of the wealthfare system, free speech concerns, state propaganda, undemocratic values, waste in tax money, bureaucracy, and many other things.

https://www.youtube.com/watch?v=HQvSItqdd5o

I'm leaving Germany | Brutally Honest Review

YouTube

I picked up some work on App Platform again, which I created during my time at Amazon. Metro now works perfectly well in KMP projects and therefore it's the recommended default! The latest version also comes with a compiler plugin to avoid KSP.

https://github.com/amzn/app-platform/releases/

Releases · amzn/app-platform

A lightweight application framework for state and memory management suitable for Kotlin Multiplatform projects. - amzn/app-platform

GitHub

We're wrapping up our migration to Metro internally for Square Android. I summarized some of our challenges and steps we took in a blog post. If you use Dagger 2 for a Kotlin project, then you should migrate to Metro sooner rather than later.

https://engineering.block.xyz/blog/metro-migration-at-square-android

Metro Migration at Square Android

How Square Android migrated its monorepo from Dagger 2 and Anvil to Metro over nine months and saved thousands of hours of build time.

Block Engineering Blog

Metro 1.0.0-RC1 is out now! Last call for feedback on the public, non-experimental runtime/metrox/gradle APIs!

https://github.com/ZacSweers/metro/releases/tag/1.0.0-RC1

Release 1.0.0-RC1 · ZacSweers/metro

This is the first release candidate for Metro 1.0! This means that its runtime APIs (runtime, metrox artifacts, Gradle plugin, etc) will be API stable unless annotated with an experimental annotati...

GitHub
One underrated improvement Metro brings is its easy setup. No more configuring KAPT, runtime modules, keeping versions in sync, etc. You apply the Gradle plugin, setup a tiny graph and the rest is driven through constructor injection, @ContributesBinding and its other features. In my toy project this was all I needed.
Flattening my Dependency Graph

Rounds has a Kotlin server that integrates a few things: PostgreSQL persistence via SQLDelight (hosted on PlanetScale!)WebAuthn4J for Passkeyskotlinx.html for dynamic web pagesKtor for HTTP bindingThe service uses six database tables. The business domain tables are Game and GameEvent. Support for auth, sessions, and collaborative editing adds Account,

Public Object

👋 Hi everyone, I’m enabling GitHub Sponsors for Metro

If Metro has improved your developer experience or saved your team's build times, I’d appreciate the support!

Full pitch and ROI napkin math here: https://www.zacsweers.dev/sponsoring-metro/

Sponsoring Metro

Metro is the proudest work of my career. Ever since starting it on vacation in November 2024, building it has been an incredible journey and the community reception has been nothing short of wonderful. It sits at the intersection of several fields I've come to specialize in, ranging from metaprogramming

Zac Sweers
I recently migrated our codebase away from Ktlint to Ktfmt and Detekt. I summarized the reasons and migration steps in a blog post: https://engineering.block.xyz/blog/adopting-ktfmt-and-detekt
Adopting Ktfmt and Detekt

How Square Android replaced Ktlint with Ktfmt and Detekt and improved Kotlin formatting speed by 40% in a 60,000+ file codebase.

Block Engineering Blog

The Cash Android team wrote a post on their experience migrating to Metro. The build performance results 😍🫶

https://code.cash.app/cash-android-moves-to-metro

Cash Android Moves to Metro

The Cash Android team have completed the migration to Metro.

Cash App Code Blog

After three wonderful years at Amazon I'm happy to share that I started this week at ... Square / Block again on my old team 🪃 I'm excited to think about developer productivity more deeply again.

I'm quite proud of what I accomplished with my team at Amazon and will miss them. I'll keep working on App Platform as much as I can thanks to open source! https://amzn.github.io/app-platform/

App Platform

A lightweight application framework for state and memory management suitable for Kotlin Multiplatform projects.