Hirbod Profile Banner
Hirbod Profile
Hirbod

@hirbod_dev

3,105
Followers
139
Following
320
Media
4,221
Statuses

Full-Stack tech lead with very strong design background, @Expo (React Native) enthusiast, OCD driven development.

Frankfurt am Main, Deutschland
Joined April 2010
Don't wanna be here? Send us removal request.
@hirbod_dev
Hirbod
11 months
rEaCt NaTiVe iS sO sLoW
63
104
1K
@hirbod_dev
Hirbod
2 years
@expo is slow, React Native is bad. Hold my beer 🍺. Fully packed with basically every expo package there is, react query, zustand, a full fledged video editor, vision camera, react navigation and so much more. Video length limited on Twitter, will release more. 60-120fps
30
42
415
@hirbod_dev
Hirbod
9 months
Mastered audio in React Native! Created a cross-platform audio player with @expo . Harder than anticipated, but proud of the result. Considering releasing it as a library. Each player manages its own state & routes audio globally.
15
23
280
@hirbod_dev
Hirbod
2 years
Guess I can prepare my next App update! FlashList has finally been released. RIP FlatList! Will never look back to you!
9
35
257
@hirbod_dev
Hirbod
1 year
Did you know that Reanimated v3 LayoutAnimation from @swmansion is a gift sent from heaven? After a few more iterations and addressing some logic issues, I think I've fixed all the quirks. FlashList + @expo + Rea3 = ❤️
20
13
248
@hirbod_dev
Hirbod
2 years
Building a blazing fast infinite video reel like TK/Insta (battle tested against a collection of 25k videos) is a piece of cake with SDK45 from @expo and the new optimized expo-av including some patches I supplied. Custom player with 0 lag on scrubbing and pausing included.
20
30
229
@hirbod_dev
Hirbod
2 years
Shitty 200 USD Redmi. Now tell me that RN is not amazing. Huge shoutout to amazon for this amazing lib.: My video swiping performance is en par or even slightly better than TikTok on that phone. As you can see, I am swiping like a maniac!
8
30
224
@hirbod_dev
Hirbod
1 year
Another reminder that @expo image and @Shopify FlashList are a dream team. And yeah, you'll find expo-av in between as well :). Just shipped @Showtime_xyz 's new trending feature! And it’s fast :)
7
18
187
@hirbod_dev
Hirbod
1 month
Neither TikTok nor Instagram boot as fast as our @expo app. SDK 51 feels faster and is ~1MB smaller in total. Expo is crushing it.
23
15
176
@hirbod_dev
Hirbod
1 year
You can truly see how FlashList changed the big list game in the RN ecosystem. Bluesky has a really solid List performance, close to Twitter. FlashList only blanks at extreme high velocity speed, but no normal user scrolls like that anyway.
7
9
172
@hirbod_dev
Hirbod
1 year
@tsapeta expo-maps with OSM, GPX, custom tiles and offline support!
4
4
171
@hirbod_dev
Hirbod
6 months
Proudly presenting my new @expo package, `expo-video-metadata`. It lets you retrieve video information such as duration, dimensions, orientation, codec, etc. Works for local and remote files. Web support coming soon. If you like it, ⭐️ it :)
7
13
170
@hirbod_dev
Hirbod
2 years
@madzadev There is just a single valid answer to this: both.
3
1
166
@hirbod_dev
Hirbod
2 years
To silence all the "now test this on an Android device" folks. This here is a 200 USD device! Redmi 9. Running @expo and React Native. I know, its not the same as iOS, but this is a 200 USD device. Most stock apps run worse than mine!
6
8
147
@hirbod_dev
Hirbod
2 years
It happened guys! - the Layout Animation rewrite has been merged. This means we are sooo close for native shared animation. I am so hyped for this. ❤️ to @swmansion and everybody involved is this complex issue.
8
6
146
@hirbod_dev
Hirbod
1 year
Are your lists very laggy and slow on Android, even with FlashList? No, that’s not @expo or react-native‘s fault. Either your component is heavy, or you messed up with images. This video demonstrates a section with huge images downscaled and a section where images are optimized
3
13
144
@hirbod_dev
Hirbod
1 year
I won't deny, getting @swmansion LayoutAnimations to play nicely with an inverted FlashList was quite challenging. But I finally managed to get the CellRenderer working. There are still some minor quirks, but for the most part, it is working well now! Entering, Exiting, Layout
6
10
140
@hirbod_dev
Hirbod
2 years
I think @expo needs to invest in PR. It’s by far the best thing that happened to the RN community and still I see so many complains like „does it work with RN“, will it add bloat, expo-core so huge etc. 1MB extra size in your final app. That’s it. Unlimited possibilities for free
9
7
125
@hirbod_dev
Hirbod
2 years
People following me know that I am doing a lot of video related Apps lately. I love expo-av and its perf is awesome on iOS, but on Android, creating/loading/unloading videos harms UI and JS thread big time. I gave a try (only Android) and AMAZING perf 1/2
7
11
125
@hirbod_dev
Hirbod
1 year
Prepping next gen @expo developers!
Tweet media one
3
6
114
@hirbod_dev
Hirbod
1 year
@oliverloops This screams for useReducer
10
0
114
@hirbod_dev
Hirbod
1 year
OMG. Can't believe Safari iOS 16.4 finally supports 100svh, 100dvh and 100lvh. WE HAVE FINALLY USABLE viewport units!
1
11
114
@hirbod_dev
Hirbod
1 year
Just released a comprehensive guide to getting your app approved on the App Store and Google Play! Check out my tips for preparing metadata, handling user-generated content, and more. #appdevelopment #appstore #googleplay #expo #reactnative
3
14
108
@hirbod_dev
Hirbod
2 years
I’ve built a social video community with similar features like Instagram reels or TikTok with @expo . We’re still considering the app „open beta“ without any advertisement, but you can check it out now! Our focus is for short „how to“ videos only!
13
8
107
@hirbod_dev
Hirbod
2 years
I was struggling to find a solid working solution to listen to volume events in React Native. Specially I needed to listen to hardware button volume changes. Most libs have been unmaintained or abandoned so I decided to try it myself
7
5
99
@hirbod_dev
Hirbod
3 months
Damn, our upcoming @expo app boots so fast that having a splashscreen looks like a glitch
17
2
95
@hirbod_dev
Hirbod
11 months
Thanks @expo and @cedric_dev for this awesome swag package that arrived in my mail box 📦 Highly appreciated 🙏
Tweet media one
11
0
94
@hirbod_dev
Hirbod
6 months
Check out what I'm cooking up! I've developed an @expo native module for quickly retrieving video metadata on iOS and Android (with web support coming soon). I've needed this for quite some time and finally decided to build it myself. Lightweight, no external deps, platform APIs
8
0
88
@hirbod_dev
Hirbod
19 days
🤯🤯🤯🤯 @appjsconf @wcandillon killing it again
1
7
85
@hirbod_dev
Hirbod
2 years
Playing around with native #reactnative @expo got me excited so I’ve been digging deeper to make react-native-volume-manager a real manager. The next version supports everything Volume related, with mute switch detection on iOS and ringer mode listening on Android.
4
2
85
@hirbod_dev
Hirbod
14 days
I have been developing a sleek video thumbnail picker for @expo , using @swmansion reanimated and gesture handler. Currently, it is functional only for web, but I will soon have a native version available. Some parts have been quite challenging 1/n
11
2
84
@hirbod_dev
Hirbod
7 months
Anybody interested in how to use LayoutAnimations from @swmansion with FlashList, without elements flying around on the screen?
4
6
82
@hirbod_dev
Hirbod
1 year
That's a hat-trick in a week 🫡 Thanks to the Sweet API (expo-modules), it's so much easier for non-native developers to contribute back to the community! Give it a try guys!
5
4
81
@hirbod_dev
Hirbod
2 years
1/3 Long time ago I promised to share my fast implementation of my TikTok/Instagram style reel, fully made with @expo . Here, based on an expo starter template: It implements some basic stuff only
6
13
79
@hirbod_dev
Hirbod
1 year
We have three solutions, but I only recommend two of them. ☑️ react-native-keyboard-controller (RNKC) by @ziusko ☑️ react-native-avoid-softinput (RNAS) by @mateusz1913 ❌ useAnimatedKeyboard by @swmansion
4
6
78
@hirbod_dev
Hirbod
9 months
react-native-screens + iOS17 + fullScreenGesture be like
11
1
79
@hirbod_dev
Hirbod
9 months
Exactly what I was taking about last week. We also started migrating away and using LeanView and LeanText. This is also true for react-native-web. Up to 90% faster Text rendering is just crazy. RN need to change the default View and Text components!
@FernandoTheRojo
Fernando Rojo
9 months
Crazy fact: React Native's built-in <Text> and <View> components are expensive. Our lists got noticeably faster by doing this: const Text = props => createElement('RCTText', props) You usually don't need the Text component's heavy features like onPress/inherited styles.
13
75
733
2
3
79
@hirbod_dev
Hirbod
3 months
Looking for a senior React Native developer. (Full Time) tRPC backend stack and React Native in the front (with @expo router). It is a universal stack in a monorepo, NativeWind v4. US-based (SF preferred) but will accept remote candidates with exceptional talent. DMs open!
9
13
77
@hirbod_dev
Hirbod
20 days
Using @expo „New Android Builds Infrastructure“ reduced build time from 24m to 10m #appjs @appjsconf #expo #eas
Tweet media one
2
7
75
@hirbod_dev
Hirbod
4 months
Warning, don't update Cocoapods to 1.15.1 - it will break your @expo project and you will have a hard time on Sonoma to downgrade.
7
10
74
@hirbod_dev
Hirbod
1 year
Today, exactly 8 years ago, I released my first app on the App and Play Store. When I look back and think about how terrible it was to work with Cordova, Onsen, and Ionic, I am really happy about today's technology and tooling, especially thanks to @expo and #reactnative .
6
3
73
@hirbod_dev
Hirbod
2 months
Most exciting React 19 change is getting rid of forwardRef.
7
0
74
@hirbod_dev
Hirbod
7 months
This must be the most beautiful PR I've made.
Tweet media one
6
2
73
@hirbod_dev
Hirbod
1 year
The moment we’ve all been waiting for. Uninstall Flipper, opt in for experimental network inspection with @expo starting in SDK 48.0.16. Great talk by @cedric_dev and also great work under the hood by @kudochien . Debugging will be much easier.
Tweet media one
Tweet media two
4
7
73
@hirbod_dev
Hirbod
2 years
So, my @expo plugin for react-native-performance is done. I would recommend to not use this now (only if you really can't wait) because we're going to integrate this directly into the main repo to prevent using another external package.
4
8
71
@hirbod_dev
Hirbod
2 years
C‘mon guys, give @gorhom what he deserves. He has without a doubt the best bottom sheet implementation out there. There are also some amazing packages on top of it made by @janicduplessis (a navigator around bottom sheet). He reached 2% of his sponsor goal
1
9
70
@hirbod_dev
Hirbod
3 months
@anthonynsimon This is not satire. This is 100% true
2
0
66
@hirbod_dev
Hirbod
2 years
Thanks to @ziusko package , some patches to RNS (coming in 3.15) and plenty of testing done by me, you will be able to have animated inputs and inset adjustments for android now. It’s even synced on Android 11+ and simulated on <11. Runs on @expo dev client
3
10
69
@hirbod_dev
Hirbod
9 months
Should I or shouldn't I do that? I've observed better performance when using the TextNativeComponent instead of Text. The only downside I've identified so far is that we lose the onPress functionality. Is there anything else to keep in mind?
Tweet media one
13
3
68
@hirbod_dev
Hirbod
7 months
Randomly upgrading @expo from 49.0.9 to 49.0.19 and experiencing a huge performance boost on Android just made my day. Thanks, @lkosmaty !
6
2
62
@hirbod_dev
Hirbod
2 months
You can have that today, with the old arch as well: Hook copied from @naqvitalha 's blog post. We're using useBatchedState @Drakulaapp almost everywhere (some few exceptions where sync updates have been crucial). Works with @expo and @reactnative
@notbrent
brent 🇺🇦
2 months
i'm playing around with @reactnative new architecture examples using react-native @0 .74-rc and react @18 .3-canary, and it's pretty cool to see automatic batching with native event handlers in action.
13
60
479
1
1
61
@hirbod_dev
Hirbod
1 month
The new @expo update, containing 0.74.1 and the new Hermes, is just 🧑‍🍳💋. Bye-bye btoa, atob, and text-encoding polyfill! I dream that one day Hermes will ship with a native version of 'react-native-get-random-values.'
Tweet media one
4
1
58
@hirbod_dev
Hirbod
1 year
Thanks for your incredible work here @tsapeta By the way, this is the first Image Component in the React-Native Ecosystem that can properly handle FlashList recycling with the `recyclingKey` prop. LFG!
@tsapeta
Tomasz Sapeta 𝝠 swmansion
1 year
🎉 expo-image 1.0 is out! 🎉 Thanks @AlanJamesHughes @nishanbende @appden @IjzerenHein for contributions and the Most Valuable Testers for reporting issues during beta tests @nightstomp @KiwiKilian @alan_toa @hamdij0maa @BrodaNoel @wcastan @dhanarenomi @NewTag @peterlazar1993 🙏
19
55
348
2
4
57
@hirbod_dev
Hirbod
1 year
I have been waiting for this for so long! Thank you so much to everyone involved in this release. You can't imagine what a game-changer this is. This opens up a whole new set of possibilities that were hard to achieve in React Native without a crazy amount of work.
@swmansion
Software Mansion
1 year
Good things come to those who wait – today it is the stable V3 release of React Native Reanimated with Shared Element Transitions, DX improvements, perf upgrades, lower memory usage and more... Read our announcement post 👉
58
286
1K
1
1
56
@hirbod_dev
Hirbod
1 year
Seen @tamagui_js on @appjsconf ? Want to know what you can build with it in less than a month? I got you! This stack uses @expo , Moti by @FernandoTheRojo and animations by @swmansion and many many more under the hood. FontProvider also huge feature of Tamagui! @natebirdman is a 🐐
1
5
56
@hirbod_dev
Hirbod
1 year
@natebirdman giving a deep dive into @tamagui_js at @appjsconf . As a very early adopter, I highly recommend it as it’s one of my favorite libs! Well taught piece of software by a talented dev spending thousands of hours to build this! Will share a video soon!
Tweet media one
1
7
52
@hirbod_dev
Hirbod
5 months
Just installed the @expo dev client plugin for TanStack Query and React Navigation (Expo Router) for SDK 50. It works like a charm! Especially helpful for testing linking and more. Great work, thanks @kudochien
2
4
53
@hirbod_dev
Hirbod
2 years
@mrousavy can't thank you enough for your automaticallyAdjustKeyboardInsets fix. GOSH I just removed SOOO many dirty hacks to workaround this. And its just butter smooth now!
4
2
53
@hirbod_dev
Hirbod
1 year
After reviving Yoga with his flex-gap support, this 🐐 drops another long overdue bomb for RN: transform-origin. In case you missed it, here is his sponsoring page:
@nishanbende
nishan (o^▽^o)
1 year
draft PR
0
2
63
1
3
51
@hirbod_dev
Hirbod
4 months
TIL (thanks @tsapeta 💝): Did you know that you can open the macOS Console app and record your device interactions to catch production crashes within your @expo app? I had a hard-to-trace bug and didn't know about this powerful tool. This would've saved me weeks in the past.
3
4
52
@hirbod_dev
Hirbod
1 year
@wcandillon dropping some🔥news. Very exited time to be a RN developer @appjsconf
Tweet media one
0
1
51
@hirbod_dev
Hirbod
1 year
Back in Frankfurt! Huge shoutout to @swmansion and the @expo team for organizing this amazing conference and hosting a fantastic afterparty. Great talks, and I had the chance to meet awesome people! Until next year! 🥂 @appjsconf is hands down the best conference! :hirbod: out!
Tweet media one
0
5
49
@hirbod_dev
Hirbod
6 months
I'm just blown away. I shared some bad news with some good friends of mine while on vacation and without telling me, they immediately hopped on a plane and joined me at the beach, 4000 kilometers away.
7
0
51
@hirbod_dev
Hirbod
1 year
Tomasz asked what's next since expo-image and expo-router stable was released. I said "expo-maps" with OSM, GPX tracks, custom tiles and offline support. Deal is, when I get more than 100 likes. Let's blow this up guys!
@tsapeta
Tomasz Sapeta 𝝠 swmansion
1 year
@nightstomp Ok, if only your tweet gets more than 100 likes 😎
4
1
26
1
2
50
@hirbod_dev
Hirbod
1 year
Has anyone had experience with ? It even offers persistence support on React Native with MMKV. I'm actually quite impressed, but I would love to hear from people who have used it before.
8
1
48
@hirbod_dev
Hirbod
19 days
And that’s a wrap! Thanks for this amazing edition of App.js conf @swmansion and @expo . See you next year!
1
0
48
@hirbod_dev
Hirbod
8 days
If your fonts, images or assets stopped loading today in your @expo or @reactnative app - add a resolution for " @react -native/assets-registry": "0.74.83", v0.74.84, which was released 11 hours ago, breaks asset loading!
2
3
47
@hirbod_dev
Hirbod
2 years
@ShopifyEng new FlashList is a game changer. I migrated my endless video feed from FlatList to FlashList in like 2-3 hours and its nearly as smooth as on iOS (iOS scroll just feels better and snap better). Running inside of @expo custom dev client. I am blown away!
0
2
46
@hirbod_dev
Hirbod
1 year
Exciting news! I am thrilled to announce that I am now partnering with @Showtime_xyz as contractor for all future app and web development. Thankful for the opportunity to work with such talented individuals. Let's make some magic happen! #expo #web #reactnative #web3
@AlexMasmej
$ALEX Masmej
1 year
0
0
3
5
3
47
@hirbod_dev
Hirbod
1 year
@expo 's experimental network inspector is successfully installed. This is a game changer! Two issues I have (not sure if solvable): 1) expo-images served from cache don't appear 2) Served images appear as "fetch" and are not filterable by "Img". It's a bit hard to catch them.
Tweet media one
5
4
46
@hirbod_dev
Hirbod
4 months
Oh wow, I feel honored ❤️
@WookieFPV
Wookie
4 months
Nice one, @hirbod_dev ! 🎉 You've officially earned your spot in the People category of the State of React Native survey. Kudos!
Tweet media one
3
2
25
5
0
46
@hirbod_dev
Hirbod
16 days
The most painful part about the React Compiler is that I will need to add ESLint back. It felt so good to replace everything with Biome. :(
8
1
45
@hirbod_dev
Hirbod
1 year
So sad that @appjsconf is over. I have a proposal: make this a 1 week event next year! Love you guys! @expo + @swmansion = 🔥
2
1
46
@hirbod_dev
Hirbod
1 year
I joined @TheOutbound as contractor to help out @tyrauber a bit. The app was already pretty good but had hard times maintaining stable 60fps. After some awesome refactoring sessions we really achieved incredible results. Thanks to @expo , testing and deploying was a breeze!
6
0
45
@hirbod_dev
Hirbod
2 years
Got so hyped by the talk from @tsapeta at @appjsconf that I started to play around with expo-modules-core. Guess it has never been easier to use JSI and create React Native Modules. Will try to port my Volume Manager package to fully leverage JSI under the hood.
2
2
45
@hirbod_dev
Hirbod
11 months
That butter smooth fade in by @expo -image is just 🫠
3
1
44
@hirbod_dev
Hirbod
1 year
Having a great time with my mate @nishanbende at the great afterparty @appjsconf ! See you next year. By the way: that’s the guy who brought Flexgap for y’all (with @jacobp100 ). Bowing for this 🐐
Tweet media one
2
0
43
@hirbod_dev
Hirbod
7 days
Ever wondered why your linear gradients look bad? Color banding is the issue. You can apply the same techniques to @expo -linear-gradient using this library. . Just make sure to export a component and keep it lightweight. Welcome!
2
1
43
@hirbod_dev
Hirbod
7 months
After using Valtio for a while, I am not sure why I ever hyped Zustand :D
11
1
42
@hirbod_dev
Hirbod
9 months
@Selene406 @PicturesFoIder Wrong (2+2 = 4) (8 / 2 =4) (4 * 4 = 16) Brackets, Orders, Multiplication and Division (from left to right), Addition and Subtraction (from left to right) Result is 16
13
0
42
@hirbod_dev
Hirbod
7 months
When you try to fix a bug but end up introducing a new one, and somehow you find yourself liking it :D
6
0
43
@hirbod_dev
Hirbod
3 months
Explore our latest creation: a complete @expo router setup for iOS, Android, and Web. It includes tRPC + RQ among other features. Currently in beta, it's not perfect yet, particularly on Desktop [wide], but we're thrilled with the stack and outcomes.
@Drakulaapp
Drakula.app 🩸
4 months
LINKS: Testnet on web: TestFlight app: Follow us on @warpcast_ :
1
2
13
5
3
42
@hirbod_dev
Hirbod
11 months
🔥🔥🔥🔥
@piaskowyk
Krzysztof Piaskowy
11 months
I’ve been working on this feature for soo long 🫠 Progress-based Shared Element Transitions & border radius support are available since Reanimated 3.4.0 🐎 Source code 👇👇👇 @swmansion
34
103
915
0
2
42
@hirbod_dev
Hirbod
4 months
And another game changer! This is just 🔥🔥
@tomekzaw_
Tomasz Zawadzki
4 months
[1/7] Introducing react-native-live-markdown 🔥 ⚛️ <𝙼𝚊𝚛𝚔𝚍𝚘𝚠𝚗𝚃𝚎𝚡𝚝𝙸𝚗𝚙𝚞𝚝> component ⚛️ Cross-platform (Android, iOS, web) ⚛️ Built by @swmansion for @expensify app
62
116
834
1
1
42
@hirbod_dev
Hirbod
1 year
@natebirdman @Baconbrix @FernandoTheRojo Keyboard handling with react-native-keyboard-controller and interactive mode support - as easy as it gets. Keyboard pain is over. And pretty easy to build solid avoiding views with that.
2
0
42
@hirbod_dev
Hirbod
1 month
btoa/atob shipped with Hermes in React Native 0.74.1 is strict and can't decode without padding. It's already fixed upstream but wasn't shipped in the latest release. As a workaround for now, make sure your string contains padding.
Tweet media one
2
2
42
@hirbod_dev
Hirbod
19 days
@kzzzf gave one of the coolest and most entertaining talks @appjsconf . Huge shoutout, loved the inception part.
Tweet media one
1
5
42
@hirbod_dev
Hirbod
1 year
I've released another update for React Native Volume Manager (with @expo dev client support). Version 1.5.0 finally supports Modals. Before, it wasn't possible to hide the Volume UI (both) and intercept hardware button presses on Android. Was a tough one!
2
2
41
@hirbod_dev
Hirbod
2 years
The upcoming version of react-native-volume-manager will allow you (ios + android) to update the volume without showing the native volume toast. And its the first library I am aware of which also can suppress the toast with hardware button presses (volume up / down). 1/2
3
3
39
@hirbod_dev
Hirbod
20 days
„It’s pretty fucking sweet“ - @Baconbrix Indeed it is 🤯 @appjsconf #expo
1
3
39
@hirbod_dev
Hirbod
18 days
I finally had the chance to test Vision Pro. Thanks to @callstackio for patiently showcasing this to hundreds of people. Your team did a great job! @appjsconf
1
1
40