T.J. Żelawski's Avatar

T.J. Żelawski

@tjzel.dev

Software Engineer @Software Mansion I maintain some React Native open-source libraries

150
Followers
70
Following
31
Posts
15.12.2023
Joined
Posts Following

Latest posts by T.J. Żelawski @tjzel.dev

Post image

I'm excited to announce I will be speaker at React Universe, just next week! 🥳

It's high time we talk Worklets on a big stage.

25.08.2025 10:42 👍 5 🔁 2 💬 0 📌 0
DownloadMoreRAM.com - CloudRAM 2.0 DownloadMoreRAM.com - CloudRAM 2.0

why use expo plugin if you can use the website instead downloadmoreram.com

16.08.2025 07:59 👍 1 🔁 0 💬 0 📌 0
Post image

My talk titled "Your GPU is a JavaScript Runtime*" just landed on YouTube! 👨‍💻

I answer WHY and HOW we compile JS/TS to WGSL, how it improves interop for the whole ecosystem, and the added dimension of customizability it unlocks for WebGPU libraries

Video below ⬇️
#webgpu #typegpu #typescript

24.07.2025 19:46 👍 8 🔁 2 💬 1 📌 1

It's our biggest one yet!

23.07.2025 15:07 👍 4 🔁 0 💬 0 📌 0

sadly it's literally impossible to make a 100% working anti-cheat

21.07.2025 19:27 👍 0 🔁 0 💬 1 📌 0
Preview
GitHub - software-mansion-labs/Bundle-Mode-showcase-app Contribute to software-mansion-labs/Bundle-Mode-showcase-app development by creating an account on GitHub.

Code of the app in the clip can be found here
github.com/software-man...

15.07.2025 13:12 👍 0 🔁 0 💬 0 📌 0

If you want to test it in your app, keep in mind that Reanimated 3 doesn't work with standalone `react-native-worklets`. However, a nightly version of Reanimated 4 works just fine.

15.07.2025 13:12 👍 1 🔁 0 💬 1 📌 0

Libraries that fetch data will also have a hard time - `fetch` is not yet available on Worklet Runtimes. We aim to add it soon™. For now, libraries that focus on the UI are the best bet to use with Bundle Mode - like `react-native-wgpu` or `react-native-live-markdown`.

15.07.2025 13:12 👍 1 🔁 0 💬 1 📌 0

While the feature allows you to use virtually any library, there are some constraints. For example, some side-effects are problematic. A library that would directly import React Native can't be used on a Worklet Runtime. Don't worry, you will get a friendly error in that case.

15.07.2025 13:12 👍 0 🔁 0 💬 1 📌 0
Preview
proposal: BundleConsumer interface for TurboModules by tjzel · Pull Request #50788 · facebook/react-native Summary: With the development of react-native-worklets library I want to align it more with the tools inside React Native ecosystem and reduce the amount of hacks needed to provide multithreading J...

Ultimately this will be a plug-and-play solution, without cumbersome configurations. However, it's not that simple. Bundle Mode needs APIs that aren't yet available in React Native. Please give a thumbs up on my PR so we can ship it to React Native faster
github.com/facebook/rea...

15.07.2025 13:12 👍 1 🔁 0 💬 1 📌 0
Preview
Bundle Mode | React Native Worklets Bundle Mode is a feature that gives worklets access to your whole JavaScript bundle - meaning that any code that's present in the bundle can be executed in any worklet and on any runtime. This means t...

To run it, you need to install `react-native-worklets@bundle-mode-preview` and apply some patches to React Native, which expose additional APIs. The patches are non-invasive and won't change your app's behavior outside of worklets. More in the docs
docs.swmansion.com/react-native...

15.07.2025 13:12 👍 1 🔁 0 💬 1 📌 0

Every package you import in your application will be available to use in worklets. We call this feature "Bundle Mode". This is so because worklets and your app now share the very same JavaScript bundle.

15.07.2025 13:12 👍 1 🔁 0 💬 1 📌 0
Video thumbnail

We did it! You can finally use third-party libraries in worklets - with `react-native-worklets`.

Jump in the thread to learn more 👇

15.07.2025 13:12 👍 28 🔁 6 💬 1 📌 0
Preview
Announcing Node-API Support for React Native We are bringing Node-API to React Native to simplify native module development. Learn why this ABI-stable, cross-runtime system could replace JSI and unlock faster builds, better maintainability, and ...

Announcing Node-API Support for React Native
callstack.com/blog/announc... #reactnative #nodejs

10.07.2025 12:34 👍 20 🔁 4 💬 3 📌 2
You Might Not Need react-native-svg  #reactnative
You Might Not Need react-native-svg #reactnative YouTube video by Software Mansion

The truth is… you don’t always need react-native-svg. 💥
Sometimes there’s just a better way to get the job done. 👀
www.youtube.com/shorts/IiSdp...

04.06.2025 14:39 👍 12 🔁 4 💬 1 📌 0

I wish I could just pay for 30 days upfront without subscribing

03.06.2025 09:25 👍 1 🔁 0 💬 0 📌 0
Video thumbnail

This is Radon AI ✨

A GitHub Copilot Chat but with the latest knowledge of the React Native ecosystem.

Let me know what you think!

08.05.2025 08:09 👍 12 🔁 3 💬 1 📌 0

I loved the Revolver but wth was that Number9 thing

24.03.2025 16:53 👍 1 🔁 0 💬 0 📌 0
Post image

@samuel.bsky.team can we have a better separation between "Show more like this" and "Show less like this"? The buttons are quite small and I often fat-finger the wrong one trying to customize my feed 😢

19.03.2025 17:55 👍 2 🔁 0 💬 1 📌 0
Post image

There's an RFC for the new `react-native-worklets` library in case you missed it 🚀 github.com/software-man...

19.03.2025 17:52 👍 10 🔁 2 💬 0 📌 0
Post image

We've been cooking 🧑‍🍳

10.03.2025 14:37 👍 2 🔁 0 💬 0 📌 0
Post image

Made me think of

20.02.2025 13:41 👍 1 🔁 0 💬 0 📌 0
AnimationFrameBatchinator::JsiRequestAnimationFrame
AnimationFrameBatchinator::getJsiRequestAnimationFrame() {
  return [weakThis = weak_from_this()](
             facebook::jsi::Runtime &rt, const facebook::jsi::Value &callback) {
    const auto strongThis = weakThis.lock();
    if (!strongThis) {
      return;
    }

    strongThis->addToBatch(callback);
    strongThis->flush();
  };
}

AnimationFrameBatchinator::JsiRequestAnimationFrame AnimationFrameBatchinator::getJsiRequestAnimationFrame() { return [weakThis = weak_from_this()]( facebook::jsi::Runtime &rt, const facebook::jsi::Value &callback) { const auto strongThis = weakThis.lock(); if (!strongThis) { return; } strongThis->addToBatch(callback); strongThis->flush(); }; }

C++ enjoyers, is there some syntax sugar to reduce boilerplate of `weak_ptr` locking in memory-safe lambdas referencing `this`?

I'm tired of making the `return` block everytime and I don't want to nest either.

11.02.2025 18:45 👍 0 🔁 0 💬 0 📌 0
Preview
Date.toLocaleString() is off by 2 days for dates before 1582. · Issue #1570 · facebook/hermes Bug Description For very old dates, such as "0004-04-13T00:00:00Z", the .toLocaleString() will make the date string off by two days. i.e. it will be April 15 instead of April 13. I have run gradle ...

People digging up stuff like this is why I love open source.

github.com/facebook/her...

The issue sounds bizarre and funny, but when you think about it, it might actually affect you under the most unexpected circumstances.

06.02.2025 18:49 👍 1 🔁 0 💬 0 📌 0

embrace Patch Package Driven Development

26.11.2024 13:56 👍 1 🔁 0 💬 0 📌 0

Hi William 👋

25.11.2024 13:14 👍 2 🔁 0 💬 0 📌 0

You can install it using the 'next' tag:
react-native-reanimated@next

20.11.2024 10:27 👍 1 🔁 0 💬 0 📌 0

We have just released an RC version of Reanimated, 3.17.0-rc.0 🥳

It has significant changes in the native code structure. It's an important milestone for our goal of moving Worklets to a separate library.

If you can, please check if it compiles in your project 🙏
All feedback is welcome!

20.11.2024 10:27 👍 6 🔁 1 💬 1 📌 0

@danabra.mov is working too fast for us Reanimated developers to catch up with him 😅

19.11.2024 12:49 👍 2 🔁 0 💬 0 📌 0

The @swmansion.com elephants love my kids 👶

17.11.2024 12:40 👍 1 🔁 0 💬 0 📌 0