Zac Sweers
@zacsweers.dev
📤 1452
📥 412
📝 230
All this happened, more or less. Currently funemployed 🌴 Blog: zacsweers.dev
pinned post!
Wrote a lot of thoughts on junior developers, AI, and what I strongly feel is going to become the defining challenge of our industry's next generation.
www.zacsweers.dev/forklifts-re...
loading . . .
Forklifts Require Training
Sleepwalking into labor collapse
https://www.zacsweers.dev/forklifts-require-training/
5 months ago
7
67
36
reposted by
Zac Sweers
Brent Toderian
1 day ago
This one is resonating today.
#Andor
10
4316
1021
Today is incredibly draining. My home island is just off the coast of Venezuela, we grew up with Venezuelan culture all around us. Our national bird is the Venezuelan Troupial, I have it tattooed on my arm. Maduro is evil, but the Venezuelan people are going to be crushed by how this is being done.
1 day ago
0
26
0
reposted by
Zac Sweers
Hazel Weakly
8 days ago
“We don’t have a contest culture”. Ok buddy, sure, but you: - only hire “top talent” - reward individuals, not teams - fire low performers - have a Wins channel where you “celebrate” individuals - laser focus on KPIs/OKRs - don’t hire juniors - do RIFs vs retraining Guess what! Contest cultures!
1
89
19
Neat blog series from Mounir Boudraa about how they're using Circuit with native SwiftUI for their KMP iOS apps!
www.quo.com/blog/moderni...
loading . . .
Modernize Your Kotlin Multiplatform Architecture – Part 1
Build cross-platform apps using Circuit and Kotlin Multiplatform. Share business logic while keeping native Compose and SwiftUI rendering on each platform.
https://www.quo.com/blog/modernize-your-kotlin-multiplatform-architecture/
8 days ago
0
21
5
Metro 0.9.0 is a big performance release focused on optimizing generated graphs!
github.com/ZacSweers/metro/re...
loading . . .
Release 0.9.0 · ZacSweers/metro
This release significantly improves the runtime performance of Metro-generated graphs, bringing them to parity with Dagger components' typical runtime performance (without fastInit enabled). 🚀 Imp...
https://github.com/ZacSweers/metro/releases/tag/0.9.0
21 days ago
1
17
3
This could, and I'm not overstating this, save human kind
add a skeleton here at some point
26 days ago
0
4
2
✨📊 Refreshed the Metro performance docs page with new benchmark results (both build and runtime) and interactive charts. Pretty happy with how this came out and the next release should have some nice improvements to runtime perf and reduced graph code gen size.
zacsweers.github.io/metro/0.9.0-...
loading . . .
Performance - Metro
A multiplatform dependency injection framework for Kotlin
https://zacsweers.github.io/metro/0.9.0-SNAPSHOT/performance
28 days ago
1
16
1
circuit-retained is dead, long live circuit-retained
about 1 month ago
0
17
0
Someone in the KMP live stream chat today asked if Circuit was still safe to use now that I'm no longer at Slack. It is! I'm still co-maintaining it with Josh Stagg (who is awesome and been behind a lot of Circuit's recent releases)
about 1 month ago
1
4
0
Metro 0.8.0 is a huge release! - Graph analysis tooling in both the compiler and gradle plugin - Removed deprecated runtime APIs - New MetroX Android and ViewModel artifacts - Broadened member injection support - Bunch of other bugfixes, improvements, etc
github.com/ZacSweers/me...
loading . . .
Release 0.8.0 · ZacSweers/metro
New: New dev.zacsweers.metro:metrox-android artifact for Android AppComponentFactory support. See the docs for more information. New: New dev.zacsweers.metro:metrox-viewmodel and metrox-viewmodel...
https://github.com/ZacSweers/metro/releases/tag/0.8.0
about 1 month ago
1
21
6
Vibe coded some new visualization tooling into Metro using Apache ECharts ✨ Behold: CatchUp's DI graph
about 1 month ago
4
54
3
reposted by
Zac Sweers
Pamela Hill
about 1 month ago
Want to advance your career as an Android developer by learning Kotlin Multiplatform (KMP)? Learn from LEGENDS like Jake Wharton, Philipp Lackner,
@zacsweers.dev
,
@russhwolf.com
,
@marcogomiero.com
, and
@chriskrueger.dev
. More info and register here:
info.jetbrains.com/kotlin-lives...
loading . . .
Live Webinar -
https://info.jetbrains.com/kotlin-livestream-december3-2025.html
0
8
4
Our tiny little island just qualified for the World Cup 🇨🇼🥲
loading . . .
about 2 months ago
0
25
0
The build performance results 😍🫶
add a skeleton here at some point
about 2 months ago
1
13
0
I've been on the program committee for droidconNYC for a few years now and attendee for nearly decade. I understand why they felt like staying in NYC wasn't financially viable, but moving to Florida (let alone Orlando) is such a disappointing decision, especially for LGBTQ+ members of the community
about 2 months ago
2
29
5
MoshiX 0.33.0 drops the need for proguard rule generation, meaning you can use it and its IR code gen entirely without needing KSP 🎉
github.com/ZacSweers/Mo...
loading . . .
Release 0.33.0 · ZacSweers/MoshiX
Remove moshi-proguard-rule-gen. moshi-ir now includes a sourceless runtime artifact with embedded proguard rules that cover the same functionality. This also means that KSP is no longer required to...
https://github.com/ZacSweers/MoshiX/releases/tag/0.33.0
about 2 months ago
0
9
2
reposted by
Zac Sweers
Bridget Phillips
about 2 months ago
This is fantastic and
@zacsweers.dev
deserves all the praise but it also is gonna give you a false idea of what Z is like as a maintainer and author, what the project is like, and how you might achieve something like this yourself
add a skeleton here at some point
1
22
8
Metro 0.7.5 has the Guice
github.com/ZacSweers/me...
loading . . .
Release 0.7.5 · ZacSweers/metro
New: Add Guice interop. This is largely focused on Guice's Provider type, annotations, and existing interop with jakarta.inject annotations. metro { includeGuice() } Enhancement: Improve IR cach...
https://github.com/ZacSweers/metro/releases/tag/0.7.5
about 2 months ago
1
17
2
Excited to share Metro's original design doc. Pulls back the curtain on a lot of the historical community feedback and discussions that went into it in its early days!
www.zacsweers.dev/metros-desig...
loading . . .
Metro's Design Doc
Back in December 2024, I was around a month into working on Metro (at the time still called Lattice) and realized it crossed the threshold from "is this anything" to "oh shit this has wheels". I'd bee...
https://www.zacsweers.dev/metros-design-doc/
about 2 months ago
0
22
3
reposted by
Zac Sweers
Kyle Griffin
2 months ago
Zohran Mamdani in his victory speech: "Donald Trump, since I know you're watching, I have four words for you: Turn the volume up." The cheers in the room are deafening.
17
1568
246
Metro 0.7.3 adds member injection interop, Kotlin 2.3.0-Beta2 support, and a bunch of other smaller goodies and fixes.
github.com/ZacSweers/me...
loading . . .
Release 0.7.3 · ZacSweers/metro
New: Support interop with Dagger/Anvil-generated member injector classes. Enhancement: Skip reading members when loading externally compiled member injector classes. Parameters are now computed fro...
https://github.com/ZacSweers/metro/releases/tag/0.7.3
2 months ago
0
4
0
Traveling to London tonight, but Metro 0.7.2 should mostly work with Kotlin 2.3.0-Beta2. There’s on API change that affects logging but is fixed in snapshots, will cut a new release prolly tomorrow after I fix a separate dagger multibinding interop issue.
2 months ago
0
4
0
reposted by
Zac Sweers
nilay patel
2 months ago
School shootings and measles
add a skeleton here at some point
3
189
19
Metro 0.7.1 improves diagnostic messages for missing dependencies and multibinding code gen optimizations.
github.com/ZacSweers/me...
loading . . .
Release 0.7.1 · ZacSweers/metro
New: Add missing dependency hints for missing bindings errors [Metro/MissingBinding] Cannot find an @Inject constructor or @Provides-annotated function/property for: FooImpl FooImpl is injecte...
https://github.com/ZacSweers/metro/releases/tag/0.7.1
3 months ago
1
6
0
Metro 0.7.0 is out with dynamic graphs, implicit injects, and wasmWasi targets! Dynamic graphs have been a long time in the making and should unlock some pretty powerful testing patterns.
github.com/ZacSweers/me...
loading . . .
Release 0.7.0 · ZacSweers/metro
Dynamic Graphs Dynamic graphs are a powerful new feature of the Metro compiler that allows for dynamically replacing bindings in a given graph. To use them, you can pass in a vararg set of binding ...
https://github.com/ZacSweers/metro/releases/tag/0.7.0
3 months ago
1
22
0
Metro 0.6.10 introduces some new optional behaviors, interop with @BindsOptionalOf, and the usual host of other fixes and improvements!
github.com/ZacSweers/me...
loading . . .
Release 0.6.10 · ZacSweers/metro
Optional Dependency Behaviors Graph accessors can now expose optional dependencies, just use @OptionalDependency on the accessor. Note that the accessor must declare a default body that Metro will ...
https://github.com/ZacSweers/metro/releases/tag/0.6.10
3 months ago
0
13
1
reposted by
Zac Sweers
Kara Swisher
3 months ago
What a crock of shit from Marc Benioff — who appears willfully ignorant of news and facts and so thirsty for approval and attention from the Trump tech bros (who in the past mocked him relentlessly) that he is soiling himself in public
www.nytimes.com/2025/10/10/u...
loading . . .
Marc Benioff Says Trump Should Send Guard Troops to San Francisco
https://www.nytimes.com/2025/10/10/us/marc-benioff-san-francisco-guard.html?smid=nytcore-ios-share&referringSource=articleShare
121
1469
267
I left Slack for a few reasons and Marc was two of them.
www.nytimes.com/2025/10/10/u...
loading . . .
Marc Benioff Says Trump Should Send Guard Troops to San Francisco
https://www.nytimes.com/2025/10/10/us/marc-benioff-san-francisco-guard.html
3 months ago
1
24
8
reposted by
Zac Sweers
Mihai Neacsu (Trakx)
3 months ago
There it is!
loading . . .
In-depth on Metro — with Zac Sweers
YouTube video by Code with the Italians
https://youtu.be/c9r8H1DobaI?si=afACSeJBAjwPnvfN
0
5
2
Was on
@codewiththeitalians.it
today with
@sebastiano.dev
and Ivan chatting about Metro and some of the more nitty gritty of how the newer IDE features work! Some fun live coding
www.twitch.tv/videos/25864...
loading . . .
In-depth on Metro — with Zac Sweers - codewiththeitalians on Twitch
codewiththeitalians went live on Twitch. Catch up on their Software and Game Development VOD now.
https://www.twitch.tv/videos/2586472412
3 months ago
1
4
0
Metro 0.6.9 is out now with improved cross-compiler version support, support for Kotlin 2.3.0-Beta1, improved IDE support, configurable max error reporting, and a whole bunch more!
github.com/ZacSweers/me...
loading . . .
Release 0.6.9 · ZacSweers/metro
This release introduces new experimental support for multiple compiler and IDE versions. The primary goal of this is to better support running Metro's FIR extensions across different IntelliJ Kotli...
https://github.com/ZacSweers/metro/releases/tag/0.6.9
3 months ago
1
17
2
reposted by
Zac Sweers
Timothy Snyder
3 months ago
From 1939-1945 German officers also listened to speeches from civilians about how the laws of war didn’t apply to them. And then they participated in the Holocaust, starved millions of prisoners of war, destroyed villages and cities, and were defeated.
add a skeleton here at some point
247
5355
2114
Metro 0.6.7 brings a dedicated `@AssistedInject` annotation, Dagger module interop, and a bunch of other goodies!
github.com/ZacSweers/me...
loading . . .
Release 0.6.7 · ZacSweers/metro
New @AssistedInject annotation Assisted-injected classes must now use @AssistedInject instead of @Inject. This is for multiple reasons: It's more explicit at the source declaration site that this ...
https://github.com/ZacSweers/metro/releases/tag/0.6.7
3 months ago
0
7
1
Designers when an android engineer ask to just use the system back arrow: “our custom back arrow is an expression of our brand, we cannot yield to looking like a Google app” Designers when Liquid Glass looks like shit everywhere in their app: “LEROY JENKINSSSSSSS”
3 months ago
4
120
17
reposted by
Zac Sweers
Mehdi Hasan
4 months ago
Suddenly "hate speech" is bad. Suddenly "dehumanizing" people is bad. Suddenly "cancel culture" is good. Suddenly words have consequences. The modern American right in 2025, folks.
724
24391
5061
reposted by
Zac Sweers
Molly White
4 months ago
> the shooter is trans > ok the bullets were trans > ok the roommate is trans
158
7883
1248
Every tech CEO handling moderation this week 🤦♂️
add a skeleton here at some point
4 months ago
1
6
1
Video is already up (!!)
youtu.be/jVfmtVKa604?...
add a skeleton here at some point
4 months ago
0
29
6
Here are the slides for the "Navigating Dependency Injection with Metro" talk I just gave at DroidKaigi. Great conference and super well-organized.
speakerdeck.com/zacsweers/na...
loading . . .
Navigating Dependency Injection with Metro
Metro is yet another compile-time dependency injection framework. How is this one different though? In this talk we’ll explore how it balances blazing-f…
https://speakerdeck.com/zacsweers/navigating-dependency-injection-with-metro
4 months ago
1
26
4
reposted by
Zac Sweers
skydoves
4 months ago
Navigating Dependency Injection with Metro by
@zacsweers.dev
at
#DroidKaigi
0
7
1
Couple Metro patches today! 0.6.5 - new @Origin annotation API + a bugfix 0.6.6 - same as 0.6.5 but targeting Kotlin 2.2.20 and another fix for conflicting overrides that relies on a fix in the compiler that came in 2.2.20
github.com/ZacSweers/me...
github.com/ZacSweers/me...
loading . . .
Release 0.6.6 · ZacSweers/metro
Enhancement: Optimize annotation lookups in some places in IR. Fix: If a graph declares an overridable declaration that matches one of a contributed supertype, transform it to add the requisite ove...
https://github.com/ZacSweers/metro/releases/tag/0.6.6
4 months ago
0
7
0
reposted by
Zac Sweers
nilay patel
4 months ago
What a surprise
www.theverge.com/news/773928/...
loading . . .
Google admits the open web is in ‘rapid decline’
One Google exec recently said the web is “thriving.”
https://www.theverge.com/news/773928/google-open-web-rapid-decline
9
203
49
Today I ran a race down 5th ave, hung out in Central Park, got coffee in Hell’s Kitchen, played soccer in east river park, got bbq in Williamsburg, and now flying to Tokyo from JFK. Life in NYC’s feeling very rich today
4 months ago
0
17
0
reposted by
Zac Sweers
Ralf
4 months ago
Our KMP framework App Platform now supports Metro out of the box:
github.com/amzn/app-pla...
@zacsweers.dev
is pushing the boundaries with Metro and there are still some Kotlin compiler bugs that need to be resolved, but on the JVM / Android it works.
loading . . .
Release 0.0.6 · amzn/app-platform
Added Added support for Metro as dependency injection framework. User can choose between kotlin-inject-anvil and Metro. For more details see the documentation for how to setup and use both depende...
https://github.com/amzn/app-platform/releases/tag/0.0.6
1
7
1
Crenshaw's district in Houston is literally gerrymandered in such a way to avoid including Greenspoint, a neighborhood locally nicknamed Gunpoint.
add a skeleton here at some point
4 months ago
1
2
1
Killing their own children to own the libs
add a skeleton here at some point
4 months ago
0
3
0
Slack people were affected by this too, and not just customer service roles. The AI claim is obviously bogus. Tech media should do better than just accept claims like this at face value, make CEOs own (the consequences of) their decisions.
www.nbcbayarea.com/news/local/s...
loading . . .
Salesforce CEO confirms 4,000 layoffs 'because I need less heads' with AI
Salesforce has cut 4,000 of its customer support roles, CEO Marc Benioff said in a recent interview. Here's what we know.
https://www.nbcbayarea.com/news/local/salesforce-layoffs-artificial-intelligence/3941975/
4 months ago
0
12
1
Google product development in 2025
add a skeleton here at some point
4 months ago
3
30
4
Wrote a lot of thoughts on junior developers, AI, and what I strongly feel is going to become the defining challenge of our industry's next generation.
www.zacsweers.dev/forklifts-re...
loading . . .
Forklifts Require Training
Sleepwalking into labor collapse
https://www.zacsweers.dev/forklifts-require-training/
5 months ago
7
67
36
Still a miler at 33
5 months ago
1
17
0
Load more
feeds!
log in