Sign in

Zac Sweers

@zacsweers.dev
1.6K followers 418 following 99 posts

All this happened, more or less Blog: zacsweers.dev 📍NYC

PostsRepliesMedia
Zac Sweers @zacsweers.dev · 13/08/2026
MadeByGoogle events continue to be weird influencer-washing and, at best, disingenuous
050
Zac Sweers @zacsweers.dev · 31/07/2026
Is founders not using caps the new faking a vocal fry?
040
Zac Sweers @zacsweers.dev · 31/07/2026
Metro 1.4.0 brings suspend providers! ⚡ github.com/ZacSweers/me...
github.com
Release 1.4.0 · ZacSweers/metro
New Experimental support for suspend providers This release introduces experimental support for suspend providers. This is disabled by default and can be enabled by the metro.enableSuspendProviders...
1173
Reposted by Zac Sweers
Nick Ames @nickames82.bsky.social · 29/07/2026
Enough statements, enough words, enough "careful consideration", enough private disgust. It's time for UEFA and Europe to take action against what FIFA and Infantino are doing to football: www.theguardian.com/football/202...
theguardian.com
Uefa has to show backbone: concrete action can make Fifa’s World Cup plans untenable | Nick Ames
European football has shown an increased willingness to talk tough with Fifa but words can only be wielded so many times
1230276
Zac Sweers @zacsweers.dev · 16/07/2026
Circuit 0.35.1 begins removing Parcelable requirements and migrating to AndroidX retain! github.com/slackhq/circ...
github.com
Release 0.35.1 · slackhq/circuit
New Pluggable Screen/PopResult persistence with CircuitSaver Circuit's saveable back stacks no longer mandate how Screens and PopResults are persisted. A new CircuitSaver abstraction in circuit-run...
0131
Zac Sweers @zacsweers.dev · 08/07/2026
First day at OpenAI!
2300
Zac Sweers @zacsweers.dev · 06/07/2026
Contributed R8 support to shadow, main benefit is you could produce pretty optimized uber jars now (on top of just tree-shaking). Should be pretty handy for CLIs. github.com/GradleUp/shadow/re...
github.com
Release 9.5.0 · GradleUp/shadow
Added Check DuplicatesStrategy for merging transformers. (#2026) This will log warnings when an incompatible DuplicatesStrategy (e.g., EXCLUDE) is applied in Gradle configuration for built-in Reso...
3182
Zac Sweers @zacsweers.dev · 02/07/2026
My "Metro Under the Hood" talk from KotlinConf is available on YouTube now! Video: youtu.be/KVmogsSbic8 Slides: speakerdeck.com/zacsweers/met...
youtu.be
Metro Under the Hood | Zac Sweers
Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs
1161
Zac Sweers @zacsweers.dev · 01/07/2026
Metro 1.3.0 has rich diagnostics and experimental runtime tracing! github.com/ZacSweers/metro/re...
github.com
Release 1.3.0 · ZacSweers/metro
New [IR] Revamp graph-validation diagnostics with structured output. Taking some inspiration from Rust error messages. Stable diagnostic IDs Compact dependency chains Aligned binding traces...
1162
Zac Sweers @zacsweers.dev · 29/06/2026
How to Take an 11 Month Sabbatical www.zacsweers.dev/how-to-take-...
zacsweers.dev
How to Take an 11 Month Sabbatical
A sequel to the last one, but a bit longer. On Leaving Slack After nearly 6 years, I left Slack in August of 2025. It was for a combination of reasons that added up to "it's time". The biggest rea...
6430
Zac Sweers @zacsweers.dev · 24/06/2026
Coming in Metro 1.3.0! Was awesome working with Rahul on this
0163
Zac Sweers @zacsweers.dev · 23/06/2026
Introducing kempt: a single-entry point CLI that delegates to language-specific formatters with easy installation, automatic binary management, git hook integration, license headers, whitespace handling, and simple configuration. www.zacsweers.dev/introducing-...
zacsweers.dev
Introducing Kempt
Formatting should be boring, in the best possible way.
0142
Zac Sweers @zacsweers.dev · 21/06/2026
So fucking proud of this team 🇨🇼 . One more to go in Philly
181
Reposted by Zac Sweers
Commonhaus Foundation @commonhaus.org · 17/06/2026
🎉 OkHttp, Okio, Retrofit, and SQLDelight join Commonhaus! www.commonhaus.org/activity/315...
commonhaus.org
🎉 OkHttp, Okio, Retrofit, and SQLDelight join Commonhaus!
OkHttp, Okio, Retrofit, and SQLDelight join Commonhaus under the lysine.dev banner
04421
Zac Sweers @zacsweers.dev · 16/06/2026
Super sympathetic to Sonatype's situation, hosting isn't free. But announcing this with paltry limits and no public pricing options (a sales contact ain't it) is bad for everyone and going to be a major disruption to the JVM and Kotlin ecosystems. central.sonatype.org/publish/mave...
central.sonatype.org
Maven Central Publishing Limits
6297
Reposted by Zac Sweers
Brandon Friedman @brandonfriedman.bsky.social · 11/06/2026
Best thing about Mamdani is that he's one of the only Democrats who understands you can just do things
484805731
Zac Sweers @zacsweers.dev · 10/06/2026
Metro 1.2.0 has Hilt interop, provider inlining, improved compiler performance, and leaner runtime primitives! github.com/ZacSweers/metro/re...
github.com
Release 1.2.0 · ZacSweers/metro
New [interop] This release introduces experimental support for Hilt @InstallIn and @EntryPoint interop. Enabled with metro { interop { includeHilt() } } A @DependencyGraph(<scope>) automatically ...
0133
Reposted by Zac Sweers
Ketan Joshi @ketanjoshi.co · 10/06/2026
I've been a broken record on this for three years and I'll be a broken record for as long as that fucking website exists: X is a viciously racist far-right organising platform that ONLY WORKS because a huge number of centrists, lefties and progressivs cannot stop propping it up
yahoo.com
Elon Musk accused of fuelling unrest after Belfast knife attack
The use of social media in planning violent protests over the Belfast knife attack has drawn condemnation, with Britain's ruling Labour Party accusing Elon Musk of stoking divisions. The tech billiona...
16388213360
Reposted by Zac Sweers
Josh @stagg.me · 10/06/2026
⚡️Circuit 0.34.0 is out 🚀 🆕 SubCircuit - A lightweight presenter/UI pair for reusable components that need to cooperatively delegate events to a parent. Plus a new composite-presenter Inbox sample, support for Compose 1.11, and a variety of fixes! github.com/slackhq/circ...
github.com
Release 0.34.0 · slackhq/circuit
SubCircuit SubCircuit is a lightweight version of Circuit for rendering nested presenter/UI pairs that delegate events to an outer component rather than handling navigation themselves. Use it for n...
021
Zac Sweers @zacsweers.dev · 08/06/2026
Moreover, what Apple and Google and all these other companies haven't learned that movie studios have is you need to make the non-human companion character functionally a cat. Toothless, Rocky, BB8, R2, Stitch, WALL-E, Groot, list goes on
150
Zac Sweers @zacsweers.dev · 08/06/2026
I want a Rocky voice in all these assistants
130
Reposted by Zac Sweers
Rodger Sherman @rodger.bsky.social · 27/05/2026
—Guy gets a potato egg and cheese taco —republicans decide to make it a campaign issue —they call him vegan instead of vegetarian even though vegans don’t eat eggs or cheese, because vegan sounds “worse” —guy isn’t even vegetarian, he just likes tacos
1702445420
Zac Sweers @zacsweers.dev · 22/05/2026
Here are the slides: speakerdeck.com/zacsweers/me...
speakerdeck.com
Metro Under the Hood
0122
Zac Sweers @zacsweers.dev · 20/05/2026
I'll be giving a talk about Metro's internals tomorrow at @kotlinconf.com! This'll be an advanced talk that assumes familiarity with Metro, and is a sort of part 2 of my "Navigating Dependency Injection with Metro" talk last year. You can find it here: www.youtube.com/watch?v=jVfm...
The first slide from the talk - "Metro Under the Hood"
1272
Zac Sweers @zacsweers.dev · 13/05/2026
Metro 1.1.0 and 1.0.1 are out now! This is largely a performance release. They are identical except 1.1.0 drops Kotlin 2.2.0 - Improved compiler performance - Lots of tracing improvements - SwitchingProvider now generates tableswitch bytecode - Kotlin 2.4.20 support github.com/ZacSweers/metro/re..
github.com
Release 1.0.1 · ZacSweers/metro
New [FIR] Add a diagnostic warning that @Module.subcomponents is ignored by Metro (when Dagger interop is enabled). [FIR] Add a diagnostic error for annotating @AssistedInject types with @Contribu...
1251
Reposted by Zac Sweers
Mark Allison @markallison.social · 27/04/2026
I've used Metro, and it's better than anything else, imo. It not only speeds up your builds, but makes DI easier, and also provides simpler upgrade paths if you're transitioning from other common DI frameworks. Huge thanks to @zacsweers.dev
0213
Zac Sweers @zacsweers.dev · 27/04/2026
Metro reaches 1.0! It's the proudest work of my career and I strongly feel this is how dependency injection in Kotlin should be. Thank you to everyone that's contributed and helped this project get to where it's at. Metro wouldn't be where it is without you. www.zacsweers.dev/metro-is-sta...
zacsweers.dev
🚇 Metro is Stable
Metro 1.0.0 is out now and stable. This means that its runtime APIs (runtime, MetroX artifacts, Gradle plugin, etc.) are now API-stable unless annotated with an experimental annotation. This is an ex...
310630
Zac Sweers @zacsweers.dev · 23/04/2026
Metro 1.0.0-RC3 is out now and promotes function providers to the default! github.com/ZacSweers/metro/re...
github.com
Release 1.0.0-RC3 · ZacSweers/metro
This is the third 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...
1102
Reposted by Zac Sweers
Bridget Phillips @jingibus.bsky.social · 15/04/2026
Big +1. Joel and Jacob deserve so much credit for this. A project this big, hit with this kind of organizational instability...it's a real relay race. I know Cash also benefitted from their work.
071
Reposted by Zac Sweers
Ray Ryan @rjrjr.com · 15/04/2026
Joel and Jacob are two of the most talented (and most pleasant!) people I have ever worked with.
0143
Zac Sweers @zacsweers.dev · 15/04/2026
I know there's a lot of people that worked on this behind the scenes but on top of Ralf and Tom, I also wanna give a huge shout out to Joel Wilcox and Jacob Applin for a ton of contributions, pairing sessions over tuple, and starting work with me on Metro as far back as January 2025. Hire them!
1356
Reposted by Zac Sweers
Ralf @ralf-wondratschek.com · 14/04/2026
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. engineering.block.xyz/blog/metro-m...
engineering.block.xyz
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.
0318
Zac Sweers @zacsweers.dev · 13/04/2026
Metro 1.0.0-RC1 is out now! Last call for feedback on the public, non-experimental runtime/metrox/gradle APIs! github.com/ZacSweers/metro/re...
github.com
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...
2429
Zac Sweers @zacsweers.dev · 10/04/2026
@chethaase.com was here, maybe
180
Reposted by Zac Sweers
Claire Jackson @claire.northsky.social · 19/02/2026
we should have a third industry besides AI and gambling
92578547
Zac Sweers @zacsweers.dev · 07/04/2026
Me, working in compilers: fuck yeah look at these tree structures and algorithms go Me, working with compose M3: please god just tell me which of these 5 overloads is not deprecated and accepts a String value
0201
Zac Sweers @zacsweers.dev · 06/04/2026
Small script wrapper over the updated KMP project templates in courtesy of Claude Code, includes a few extra patches for metro/circuit and newer versions. gist.github.com/ZacSweers/510...
gist.github.com
kmp-new.sh
kmp-new.sh. GitHub Gist: instantly share code, notes, and snippets.
290
Zac Sweers @zacsweers.dev · 05/04/2026
Metro 0.13.0 adds top-level contribution providers, Circuit code gen, and a new @DefaultBinding annotation. This also removes most deprecated APIs as Metro prepares to go stable (!!). If you have runtime API feedback, now is the time! github.com/ZacSweers/me...
github.com
Release 0.13.0 · ZacSweers/metro
New Circuit codegen Metro now includes experimental built-in support for Circuit, a Compose-first architecture for building kotlin apps. See the docs for more details. In the long term, this will e...
1277
Zac Sweers @zacsweers.dev · 29/01/2026
👋 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: www.zacsweers.dev/sponsoring-m...
zacsweers.dev
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...
0447
Zac Sweers @zacsweers.dev · 13/08/2025
Always ask why the position was available
A tweet from Nikita Bier that reads

I am assembling the Android Dream Team. 

The 1991-1998 Chicago Bulls of Android teams.

You will be working alongside the most elite engineers of your career.

Books will be written about this team.

This app will be regarded with more reverence than the moon landing

The code will change history more than the invention of the wheel.

Come rebuild the 𝕏 Android app.

DMs open. No remote candidates.
6444
Zac Sweers @zacsweers.dev · 08/08/2025
Last day at Slack! Nothing planned next yet, gonna enjoy some time off 🌴
Me holding a red velvet cake in an officeMe and five female coworkers in the New York officeA red velvet cake that says “Happy last day Zac” spelled out in the icing on top
12850
Zac Sweers @zacsweers.dev · 18/07/2025
Metro wouldn’t be where it is without the road that Anvil paved before it. I’ve really enjoyed working with Joel and Jacob on several Metro features already, with @ralf-wondratschek.com in its early design phase, and really looking forward continuing to work with all of them. Future’s bright 🚇
1403
Zac Sweers @zacsweers.dev · 03/05/2025
Big Friday over here - Foster pup Helga got adopted! - Raced another mile and lowered my (adult life) best to 4:46 in a big breakthrough - Finished a huge rewrite of Metro's internal binding graph, runs in O(V+E) complexity now + fixed a few bugs along the way
Me kneeling with a big white dog with brown spotsA view of a track looking down the straightaway under the lights. There are spectator stands on the right and the track is blueScreenshot of a race video right after the finish
3290
Zac Sweers @zacsweers.dev · 29/04/2025
Is there a word for people on Sessionize submitting vague tech leadership talks that read like escaped LinkedIn posters and don't seem to understand what conf they're submitting for?
490
Zac Sweers @zacsweers.dev · 03/04/2025
A palette cleanser for your timeline today: Introducing Metro! Metro is a compiler-plugin-based dependency injection framework that draws heavy inspiration from Dagger, Anvil, & Kotlin-Inject. www.zacsweers.dev/introducing-...
zacsweers.dev
Introducing Metro
I'm excited to share something new I've been working on the past few months!
88320
Zac Sweers @zacsweers.dev · 24/03/2025
If cities were half as effective as pickleball people at getting new infrastructure built we would have solved affordable housing by now
1103
Zac Sweers @zacsweers.dev · 19/03/2025
The world if corporate IT orgs stopped doing vanity projects
“The world if” meme featuring a futuristic, peaceful society
160
Zac Sweers @zacsweers.dev · 18/03/2025
Rolled back the years a bit on Sunday and did something I never thought I’d do again: chased a PR. 1:24:24 chip time, 1:23:28 watch split. Sights set on the track this summer now 🌞
Three runners running in front of a well lit billboardA bunch of runners running through Times SquareA grid of metrics from a Strava workout. The average pace is 6:22 per mile and the total distance is 13.19 miles.Strava screenshot showing mile splits for just over 13 miles. Each split is between roughly 6:10 and 6:30.
2120
Zac Sweers @zacsweers.dev · 17/02/2025
One Last View of Mom www.zacsweers.dev/one-last-vie...
zacsweers.dev
One Last View of Mom
We said goodbye to mom in May after a five year battle with cancer. She left on her own terms, under the care of the wonderful University of Vermont hospice network and Act 39. The day mom passed, my ...
7340
Zac Sweers @zacsweers.dev · 17/01/2025
“Sleep on it” remains undefeated in debugging
718417