Codex at @OpenAI. Formerly @Watershed @Tonal, Airbnb and Google. Android GSE. Maintainer of Lottie and MvRx. #AndroidDev #Kotlin

San Francisco, CA
After two years, 220 screens, and 120,000 lines of javascript, we're moving away from React Native at Airbnb. I tried to summarize our experience in a single blog post but that wouldn't do it justice so it turned into five! medium.com/airbnb-engineerin…
82
1,759
3,611
I'm really exited to announce that bodymovin is officially joining the Lottie family! Say hello to lottie-web! Lottie wouldn't exist without the amazing work by @airnanan, @theWithra, and @TheRealSalih and now we're #oneteamonedream! github.com/airbnb/lottie-web
18
165
601
This tweet is from the CEO of @Shopify. Say what you want about React Native but what kind of leader shitposts like this? Nuance and details matter. The CEO of a $55B company should know better.
34
53
509
I think now would be a great time to share that, next week, I'll be joining the ChatGPT Android team! (not a joke) If this week has shown me anything, it's that I'll be joining one of the most inspiring teams in the world. I cannot wait to be a part of it. ❤️🫡❤️
We have reached an agreement in principle for Sam Altman to return to OpenAI as CEO with a new initial board of Bret Taylor (Chair), Larry Summers, and Adam D'Angelo. We are collaborating to figure out the details. Thank you so much for your patience through this.
40
14
512
96,482
Open Twitter. Start reading a tweet Twitter auto-refreshes. Tweet disappears and can't be found above or below the fold. Just me or does this happen to you?
41
17
472
I'm really excited to share the first alpha of Lottie for Jetpack Compose! Try it out and help me shape the API to make it the best version of Lottie yet. medium.com/@gpeal/lottie-for…
5
80
446
Android engineering can be summed up as alternating between working with the best developer tools in the world and "invalidate caches and restart".
6
64
438
I'm extremely excited to be sharing MvRx with the world! MvRx is a Airbnb's Android architecture that puts Android on Autopilot and we love it. Check it our Medium post and full documentation on GitHub 😁 medium.com/airbnb-engineerin… github.com/airbnb/MvRx/
6
125
454
I strongly believe that Kotlin will be the language of the next decade. It's the first language that checks all of the boxes: Modern syntax Strongly typed World class tooling Usable on nearly any platform Strong institutional backing And an AMAZING community
According to GitHub's analysis, Kotlin is now the fastest-growing language on GitHub, with 2.6 times as many contributors as last year! octoverse.github.com/project…
12
91
398
For Lottie's 5th anniversary, I'm releasing Lottie Android 5.0! It's one of the biggest and best releases yet. I've been working on this release for months now and I'm really excited for you all to try it! gpeal.medium.com/lottie-andr…
11
54
355
The most detrimental effect of slow build times isn't the time itself. It's distraction. Every build is an opportunity to check Slack/Twitter/Hacker News/Gmail/etc.
16
74
346
The cheapest way for an engineering organization to increase the productivity and happiness of its team is to buy everybody a 6 core i9 MacBook Pro with 32gb RAM. Worth every. single. penny.
16
70
342
I have never started a new Android application and remembered to add android.permission.INTERNET.
9
18
320
The Android community is amazing 🙏
13
13
326
I'm humbled to be joining the @GoogleDevExpert program for Android! I have learned so much through the collaboration and collective passion for Android shared by all of you. Let's never lose sight of the fact that we are all better off when we work together and help each other 🥰
19
5
322
I canceled an Android Studio build and it actually stopped.

ALT That Was Awesome Chris Farley GIF

19
15
300
I just released Lottie Android 6.1.0 In addition to a bunch of improvements, it's the first Lottie version to go multithreaded. It includes a new experimental opt-in API that offloads >50% of all main thread work to a background thread. Check it out! gpeal.medium.com/lottie-andr…

ALT Lottie Android 6.1.0

2
44
306
32,959
I have been doing Android for almost a decade and I still have no idea what should be committed the .idea directory.
12
10
272
Lottie Android 2.5.0 is officially out! With it, you can now dynamically change any property of any part of your animation at runtime. Make your animations responsive to sensors, user input, or app state. I can't wait to see what you come up with! github.com/airbnb/lottie-and…
2
73
246
I'm not saying that you can't write a great app in React Native because you can. BUT... the Iowa caucus app was written in React Native...
18
44
231
Fun fact, recreating the Twitter heart was one of the first test animations we made to test Lottie with! Full circle I guess ☺ @TheRealSalih @theWithra @airnanan
Twitter’s new like animations are created using Adobe After Effects, exported as json with Bodymovin and can be rendered using Lottie
1
8
215
It's time for the first major Lottie Android release of 2023, Lottie 6.0 🥳 Read on for more… 👇
4
23
209
25,446
Hot on the heels of Jetpack Compose 1.0 is Lottie 4.0, the first stable release for Compose! I'm really happy with how the new APIs turned out and am having more fun than ever using them for new things. Thank you Compose team for making this possible! gpeal.medium.com/lottie-andr…
34
202
3 years ago, Microsoft acquiring GitHub would have been terrible news. Since then, GitHub has stagnated and Microsoft has become an open source powerhouse. I'm feeling optimistic about this one.
1
36
173
Exciting work by the Google design team to bridge Sketch and After Effects! This makes Sketch -> Lottie way easier! medium.com/google-design/bri…
2
53
164
After 4 amazing years at @tonal, I've decided to start the next chapter of my career. Tomorrow, I'll be returning to the IC world as a web engineer for @watershed helping companies reduce their carbon impact.
14
1
168
When we started Lottie three years ago, we couldn't have imagined what it would become. Today, we couldn't be more excited for its future. And for the first time, we have a favor to ask of you and your employers 😇 medium.com/@gpeal/a-whole-lo…
2
37
171
TIL that the Windows 11 Start button is animated with Lottie 🤯 news.ycombinator.com/item?id…
4
13
152
Until I got used to Kotlin, I thought Java was "fine". Now, it's excruciating. What do we do today in the Android world that will seem excruciating in just a few years?
20
14
135
Lottie 3.1.0 is out with tons of bugfixes, the ability to set fallback resources, apply opacity to layers rather than shapes, and much more! Check it out! github.com/airbnb/lottie-and…
24
136
When I consider the success of Amazon relative to how embarrassingly bad their core mobile apps (Shopping, Alexa, and Kindle), it really makes me question whether anything I do matters...
10
26
128
Yes, the Pixel 3 can capture the Aurora Borelalis in case you were wondering. #teampixel #nightsight
2
7
130
Big week in open source! I just released Lottie Android 2.6.0. It now has networking built in (no transitive dependencies), support for zip files, new Factory APIs that supports prefetching and task joining and more! github.com/airbnb/lottie-and…
7
28
121
1/ After 3 absolutely incredibly years at @AirbnbEng, it's time to start a new chapter! Today is my first day at @Tonal and I couldn't be more excited to be a part of their journey to bring fitness equipment into the 21st century 💪
9
4
123
I'm really excited to be able to share my first @caster_io course on MvRx! Whether you're new to MvRx or already using it, there should be things to learn for anybody! 👨‍💻 Also, stay tuned for more MvRx news this week!
10
23
115
Just released Lottie 2.1.0! Text, time remapping, repeaters, mask opacity, and much more! github.com/airbnb/lottie-and…
3
44
115
First impressions of the 14" M1 Pro * I dig the PowerBook throwback design * Simply having Slack, Figma,and Gmail run smoothly is really nice... * Way faster than my 2019 i9 MBP and almost as fast as my 16 x 4.2ghz AMD desktop (Gradle)🤯 * Battery is 7-9h of moderate to heavy use
14
1
110
#AndroidLifeHacks are things that we, at @tonal, use every day that are simple enough for you to copy and paste into your own project. Join me in sharing your own #AndroidLifeHacks Let's make this a thing 🤖 gpeal.medium.com/ten-android…
11
40
114
In case you're not aware, I am the only maintainer and solely maintain the project on nights and weekends. If you use Lottie at your company, it would mean a tremendous amount to me to have you or your company sponsor me on GitHub. There are perks too! github.com/sponsors/gpeal
5
49
111
HUGE congratulations to the entire @LottieFiles team! I'll never forget the website @reallynattu sent me within a week of open-sourcing Lottie. I couldn't have imagined how instrumental they would become in building the Lottie community and I couldn't be more thankful 😍
LottieFiles, a platform for the animation format, lands $9 million Series A led by M12, Microsoft's venture fund tcrn.ch/2YjeNud by @catherineshu
2
9
113
Lottie 2.7.0 and 2.8.0 are now out! 2.7.0 is mostly a bugfix release but removes some deprecated APIs. 2.8.0 migrated to androidx!
1
19
108
Just released lottie-android 2.5.0-rc1! As of 2.5.0, you can now update any property of an animation at runtime! Want to change the color, speed, opacity, progress to match your app's state or a user interaction? Well now you can! airbnb.io/lottie/android/dyn… play.google.com/store/apps/d…
2
24
110
I love this question and really enjoyed reading the wide-ranging replies here. I couldn't quite condense my thoughts into a Tweet so I wrote up a blog post to break it down. gpeal.medium.com/modeling-an…
I'm really curios how you prefer to define your UI state model for your screens #AndroidDev - option A, B or C? If it's something better, drop it in the comments 🤔 LiveData was used as an example for the reactive source, it could be anything else you fancy: StateFlow, State etc
3
22
108
Android Studio using Skia to render ui is a really big deal. It's already enabling amazing features such as the MotionLayout editor that can actually render complex layout animations fluidly and accurately right in Android Studio! #AndroidDevSummit
4
13
109
Lottie Compose 1.0.0-alpha04 is out with Compose Alpha 8 support!
3
8
102
Am I the only person who can't for the life of me get the visual ConstraintLayout editor to work well for me? I feel like I'm always fighting overlapping, 0 sized, or ambiguous constraints. On the contrary, editing the xml manually seems to actually work really well.
27
4
110
There is definitely a bug in the Twitter app in which it stops being able to load things from the network. It seems like the kind of behavior that would happen if the entire okhttp thread pool crashes so new requests never execute. Restarting the app fixes it.
13
17
95
Did anybody else catch the incremental lint change for AGP 7.0?! The carbon impact of this will probably be in the billions of tons of CO2 every year 🌎 googlesamples.github.io/andr…
3
12
107
As if MvRx wasn't already great, Airbnb has done some phenomenal work making truly next level testing tech for MvRx. If you are using MvRx or have any interest in testing, this and the rest of the series are a must read! medium.com/airbnb-engineerin…
1
20
108
Coroutines aren't yet a replacement for RxJava. Without Flow, they just replace Single, not Observable.
3
19
99
Sprint planning: watch IO videos. 80 points. #io19 #iofomo
1
14
101
Why does Google buy ads for Jetpack Navigation?
13
3
90
Mysteries of the world...
14
20
93
MacBook feeling slow? It might be gradle or it might be macOS severely throttling your CPU. To find out, run: "pmset -g thermlog" and check CPU_Speed_Limit I'm shocked by how frequently it's in the 35-50% range.
5
13
90
Working from home has made me realize that listening to music was almost entirely a way to block out larger distractions. I now find music distracting relative to a quiet apartment.
9
7
91
Lottie Android 3.6.0 is out! It contains numerous bug fixes and few new improvements as well. I'm pretty proud of this last release of 2020. The repo now has 23 open issues and 30,300 stars (1:1300). github.com/airbnb/lottie-and…
1
12
90
I have been getting a lot of satisfaction from periodically getting Android 10 notifications for apps that wanted to use location in the background then restricting the permission to foreground only.
3
89
We just released the @tonal companion app on Android and iOS! Fun fact, it was written 100% in Flutter! play.google.com/store/apps/d… itunes.apple.com/us/app/tona…
13
5
93
Lottie 3.7.1 and Lottie Compose 1.0.0-rc01-1 are now out! This is a major breaking change for Lottie Compose. The APIs have been completely reworked to be more flexible and compatible with the Compose Animatable APIs. github.com/airbnb/lottie-and…
2
20
86
Lottie 3.4.4 is now out and is released with <1 open issue for every 1,000 GitHub stars. 29 issues - 29,800 stars. github.com/airbnb/lottie-and…
1
9
90
It's finally time to take the wraps off of Mavericks (MvRx) 2.0! Mavericks 2.0 is a complete (but backward compatible) rewrite of MvRx 1.0 built for coroutines. It was a huge amount of work but it has more than paid off. gpeal.medium.com/introducing…

ALT Airbnb Air Bnb GIF

5
17
86
I'll say it again, Jetpack Compose is a BIG deal! This is the beginning of a new era for Android UI.
also worth mentioning that compose is not just the "DSL"/runtime/etc that you might see as an analog to anko, but compose ui is actually a full UI toolkit built on top of that runtime from scratch, sans Views
2
5
90
Lottie 3.7.0 and Compose 1.0.0-beta03-1 are out! Please provide feedback on the Compose API if you get a chance 😃 github.com/airbnb/lottie-and… github.com/airbnb/lottie-and…
1
12
94
While writing offboarding docs at Tonal, I wrote up how I use Slack including some tips and etiquette I've picked up over the years. Then, I realized that nothing was Tonal specific so I made it a blog post. Hope you find something useful in it! gpeal.medium.com/how-i-use-s…
3
11
83
Holy crap, I CANNOT WAIT to use some of these! MaterialContainerTransform looks great!
Really excited for the launch of ✨Material Motion✨ A library of Transitions implementing Material patterns. 📖 medium.com/google-design/imp… 📐 material.io/design/motion/th… 👩‍💻 github.com/material-componen… Available in MDC 1.2.0-alpha05 github.com/material-componen…
1
6
85
Check out this incredible work from @peaklabs. This has to be the most creative and impressive usage of Lottie I have ever seen 🤯 medium.com/@mbayryamali/how-…
2
19
86
In the wake of @ShopifyEng committing to React Native, this is your reminder to evaluate technologies and use the one that makes sense for your team and your product. At @Tonal, we use native Android on our hardware and Flutter for our companion apps.
2
7
82
Lottie Android 3.3.0 is now out! It contains a handful of bug fixes and a new safeMode API. With this release, it now has less than 1 issue per 1000 GitHub stars 🤩 github.com/airbnb/lottie-and…
1
6
86
Really excited to share some work we've been doing to get @tonal into hotels! Imagine having an ENTIRE gym in your hotel room while you travel 🤩 fourseasons.com/siliconvalle…
10
8
89
Back in 2015, before joining @Airbnb, I reimplemented the UI for several parts of their app to learn Kotlin. I learned so much and always recommend this to people who want to learn a new technology.
App development project idea? Cloning apps you love and use daily. Break them in features, implement them both front and backend, write tests, ask mentors for reviews, add CI/CD add linting, add auto updates, host it somewhere for free . Do this countless times.
2
9
83
People having fun making delightful interactions and animations with Jetpack Compose is going to have the single biggest impact on Android app quality over the next few years 🤩
2
8
81
MvRx 1.3.0 is out! This is a significant release because it no longer requires a base Activity of any kind! This was made possible due to Jetpack SavedState and great work by Michelle Wong at Airbnb!
6
10
84
In case you haven't seen it, I launched a totally new Lottie app! It has too many new features to list in a tweet so you'll have to check it out for yourself. My favorite is a feed of new @LottieFiles animations and a totally new UI designed by @jackhone play.google.com/store/apps/d…
1
20
80
Totally agree. In other words, the wrong abstraction is much worse than no abstraction. I've been bitten by the wrong abstraction far more often than from duplicate code.
Over-engineering is so, so, *SO* much worse than violating "DRY". It's not even close.
4
11
80
If @intelligibabble and I live stream integrating MvRx with Jetpack Compose, what would you like to see us try to build or talk about?
So I'm finally doing it! I'm starting a YouTube + Twitch channel where I will be live-streaming content about Jetpack Compose. Super excited about this! YouTube: piped.video/watch?v=WNkIMx3M… Twitch: twitch.tv/intelligibabble
4
5
79
Lottie is transitioning from a simple library to a fundamental piece of the design process across all platforms. I can't wait to collaborate with @bitworking and co at Google!
2
10
77
Whoa, Android Studio 3.5RC2 is SO much faster! Editing XML was *destroying* my 32gb 6 core MacBook Pro and now it's actually pretty snappy! Great job @androidstudio team! #projectmarble
5
5
78
I would be so much more interested in diving into AI if the entire ecosystem wasn't in Python.
9
6
73
13,408
How long until Windows becomes the preferred OS for software engineers? With the major strides Microsoft has made with the Linux subsystem, I wouldn't be surprised to see a major shift over the coming years.
21
2
75
None of this would have been possible without the amazing React Native community. We believe in the community and are still excited to see it mature and innovate for years to come.
5
76
I still do this all the time!
The best debugging tool will always be: "background-color: red;"
3
5
74
Do you think more people would use MvRx if its name implied that it was an MVI framework and not associated with RxJava? In reality, it is an MVI framework with conveniences for RxJava and is 100% compatible with coroutines.
16
5
74
Congratulations to the @Android team for launching Android 10! Every release has 1000 small (and large) changes for every one that you notice. I've been loving it so far.
2
2
74
Just converted the Lottie sample app to Kotlin! 50% less code, more readable, safer, and more maintainable. Also MORE FUN! #kotlin
6
72
Charles Proxy feels like an essential tool for Android development. It's a shame that it is a third-party paid tool and is cumbersome to set up. Testing throttled networks, inspecting requests, and remapping responses are invaluable.
10
6
74
Lottie looks great at 120hz 😍
1
1
74
Android Lint is now cacheable as of 7.1.0-alpha13! issuetracker.google.com/issu…
9
69
Fun fact: Trump brought down Firebase Cloud Test Lab for 2 hours with his presidential alert message in October because it couldn't be dismissed programatically. @valera_zakharov @droidconSF #droidconsf
1
18
69
We just release MvRx 0.7.0 with a new testing artifact, performance improvements, an improvement to the ViewModelFactory API from Ben Schwab and more! Now that I've gotten used to MvRx, I can't imagine writing an Android app without it. Seriously. github.com/airbnb/MvRx/blob/…
3
13
73