Kræn Hansen
@kraenhansen.dk
Software craftsman, particularly interested in local-first software, databases, sync engines and (react) native code.
Father of three 👭🏼👶 from Denmark 🇩🇰
Building DevTools at MongoDB 🍃
Accepts sponsorships 🐙 https://github.com/sponsors/kraenhansen
Father of three 👭🏼👶 from Denmark 🇩🇰
Building DevTools at MongoDB 🍃
Accepts sponsorships 🐙 https://github.com/sponsors/kraenhansen
Admittedly - suuuper niece and specific request:
How would you coordinate multiple JS engines implementing Node-API running in the same process?
Here's my take github.com/callstackinc..., wrapping opaque pointers in objects referencing a struct of function pointers to use.
Feedback is appreciated!
How would you coordinate multiple JS engines implementing Node-API running in the same process?
Here's my take github.com/callstackinc..., wrapping opaque pointers in objects referencing a struct of function pointers to use.
Feedback is appreciated!
Enable multiple Node-API hosting JS engines / runtimes to share the global Node-API functions by kraenhansen · Pull Request #329 · callstackincubator/react-native-node-api
Stacked on #328.
This is my suggestion for adding "multi-host" support to weak-node-api, enabling multiple engines implementing Node-API to co-exist and share the Node-API function namesp...
github.com
November 10, 2025 at 10:16 PM
Admittedly - suuuper niece and specific request:
How would you coordinate multiple JS engines implementing Node-API running in the same process?
Here's my take github.com/callstackinc..., wrapping opaque pointers in objects referencing a struct of function pointers to use.
Feedback is appreciated!
How would you coordinate multiple JS engines implementing Node-API running in the same process?
Here's my take github.com/callstackinc..., wrapping opaque pointers in objects referencing a struct of function pointers to use.
Feedback is appreciated!
Reposted by Kræn Hansen
Hi, I’m Alex goldman. I used to host a podcast called Reply All that some people liked. For the past year I have been making a show called @hyperfixedpod.bsky.social. We now have 25 episodes (50 if you count premium episodes). You might enjoy it! Listen if you liked reply all
November 1, 2025 at 6:36 PM
Hi, I’m Alex goldman. I used to host a podcast called Reply All that some people liked. For the past year I have been making a show called @hyperfixedpod.bsky.social. We now have 25 episodes (50 if you count premium episodes). You might enjoy it! Listen if you liked reply all
I have huge (no longer secret) nerd-crush on this guy 🤓
Josh is a great fellow, hire him - 'nuff said ...
Josh is a great fellow, hire him - 'nuff said ...
I am looking for a full-time job.
Being independent in open source for 3.5+ years has been wonderful. I've gotten done most of the high-level goals I wanted to, and miss having people & structure around me.
If you know of a role for a staff-level TypeScript+web developer, let me know! 🙂
Being independent in open source for 3.5+ years has been wonderful. I've gotten done most of the high-level goals I wanted to, and miss having people & structure around me.
If you know of a role for a staff-level TypeScript+web developer, let me know! 🙂
October 30, 2025 at 4:26 PM
I have huge (no longer secret) nerd-crush on this guy 🤓
Josh is a great fellow, hire him - 'nuff said ...
Josh is a great fellow, hire him - 'nuff said ...
Shipping a prebuilt Xcframework on #npm is harder than it should be.
It may contain internal symbolic links when it wraps a versioned MacOS framework. These are stripped from the archive uploaded to the registry, meaning it's broken when downloaded again 🫠
It may contain internal symbolic links when it wraps a versioned MacOS framework. These are stripped from the archive uploaded to the registry, meaning it's broken when downloaded again 🫠
October 30, 2025 at 7:08 AM
Shipping a prebuilt Xcframework on #npm is harder than it should be.
It may contain internal symbolic links when it wraps a versioned MacOS framework. These are stripped from the archive uploaded to the registry, meaning it's broken when downloaded again 🫠
It may contain internal symbolic links when it wraps a versioned MacOS framework. These are stripped from the archive uploaded to the registry, meaning it's broken when downloaded again 🫠
Please don't get me wrong here 🙏
Let's just say I find it curious when four female devs (three of which have AI altered pics) and none have their workplace listed, starts following me the same day 😬
Let's just say I find it curious when four female devs (three of which have AI altered pics) and none have their workplace listed, starts following me the same day 😬
October 30, 2025 at 7:00 AM
Please don't get me wrong here 🙏
Let's just say I find it curious when four female devs (three of which have AI altered pics) and none have their workplace listed, starts following me the same day 😬
Let's just say I find it curious when four female devs (three of which have AI altered pics) and none have their workplace listed, starts following me the same day 😬
This years @reactuniverseconf.com was awesome! In particular my conversation with @psyche.social and Khalef Hosany (from @microsoft.com) about @nodejs.org #Node-API support in @reactnative.dev 💚
We also touched on what it take to build an #opensource community and use of AI 🤖
youtu.be/TN4ENNf31vs
We also touched on what it take to build an #opensource community and use of AI 🤖
youtu.be/TN4ENNf31vs
Building Node-API for React Native With Khalef Hosany & Kræn Hansen
YouTube video by Callstack
youtu.be
October 29, 2025 at 8:25 AM
This years @reactuniverseconf.com was awesome! In particular my conversation with @psyche.social and Khalef Hosany (from @microsoft.com) about @nodejs.org #Node-API support in @reactnative.dev 💚
We also touched on what it take to build an #opensource community and use of AI 🤖
youtu.be/TN4ENNf31vs
We also touched on what it take to build an #opensource community and use of AI 🤖
youtu.be/TN4ENNf31vs
PSA: If you've cloned a repo like @expo.dev's mono-repo, remember to disable @github.com Actions.
Thankfully all was discounted (presumably usage is within the free tier? 🤷)
Thankfully all was discounted (presumably usage is within the free tier? 🤷)
October 26, 2025 at 1:29 PM
PSA: If you've cloned a repo like @expo.dev's mono-repo, remember to disable @github.com Actions.
Thankfully all was discounted (presumably usage is within the free tier? 🤷)
Thankfully all was discounted (presumably usage is within the free tier? 🤷)
Reposted by Kræn Hansen
Stop recompiling native modules! Vladimir Morozov (Microsoft) & Mariusz Pasiński (@callstack.com) explain how Node-API brings ABI stability to React Native, ending the update nightmare and allowing polyglot modules (Rust, Go!) ⬇️ youtu.be/MsWmfBlx6jw
How Node-API Brings Stability to React Native Modules With Vladimir Morozov & Mario Pasiński
YouTube video by Callstack
youtu.be
October 24, 2025 at 7:53 AM
Stop recompiling native modules! Vladimir Morozov (Microsoft) & Mariusz Pasiński (@callstack.com) explain how Node-API brings ABI stability to React Native, ending the update nightmare and allowing polyglot modules (Rust, Go!) ⬇️ youtu.be/MsWmfBlx6jw
Lots of gems in @chmal.it's interview of Mariusz and Vladimir on #NodeAPI (in the context of #reactnative) from this years @reactuniverseconf.com!
www.youtube.com/watch?v=MsWm...
www.youtube.com/watch?v=MsWm...
How Node-API Brings Stability to React Native Modules With Vladimir Morozov & Mario Pasiński
YouTube video by Callstack
www.youtube.com
October 22, 2025 at 6:44 AM
Lots of gems in @chmal.it's interview of Mariusz and Vladimir on #NodeAPI (in the context of #reactnative) from this years @reactuniverseconf.com!
www.youtube.com/watch?v=MsWm...
www.youtube.com/watch?v=MsWm...
@seaofclouds.com do you design SWAG (clothes 'n stuff) as well?
October 20, 2025 at 7:40 AM
@seaofclouds.com do you design SWAG (clothes 'n stuff) as well?
Reposted by Kræn Hansen
Lately I've been rejecting "productivity culture" for "I do what I want" culture. I don't need a new journaling system or a calendar app. I don't want to sell my paintings. I don't want a content schedule. The world gets what I have to give.
You're welcome 🫶
You're welcome 🫶
October 20, 2025 at 12:09 AM
Lately I've been rejecting "productivity culture" for "I do what I want" culture. I don't need a new journaling system or a calendar app. I don't want to sell my paintings. I don't want a content schedule. The world gets what I have to give.
You're welcome 🫶
You're welcome 🫶
What a landing page for an awesome project! 🚸
🫠 automerge.org
The new Automerge website is live!!
The biggest (smallest) surprise? How fun it was to build the demo!
Automerge is so robust, it withstood all our weird ideas — like using physics-driven particles to literally push changes between docs — and it just worked. Perfectly. Every time.
The new Automerge website is live!!
The biggest (smallest) surprise? How fun it was to build the demo!
Automerge is so robust, it withstood all our weird ideas — like using physics-driven particles to literally push changes between docs — and it just worked. Perfectly. Every time.
October 17, 2025 at 12:11 PM
What a landing page for an awesome project! 🚸
Reposted by Kræn Hansen
🎮 Like CRDTs and videogames? @inkandswitch.com is ✨hiring✨ for a project that combines @automerge.org with @godotengine.org to make the next generation of collaboration tools for game development!
More detail here: inkandswitch.com/jobs/godot-i...
(Fully remote 🌍🌎🌏 contract, late Nov to April)
More detail here: inkandswitch.com/jobs/godot-i...
(Fully remote 🌍🌎🌏 contract, late Nov to April)
Godot IDE Engineer
Help build native, visual version control for collaborative game development in Godot
inkandswitch.com
October 15, 2025 at 12:41 AM
🎮 Like CRDTs and videogames? @inkandswitch.com is ✨hiring✨ for a project that combines @automerge.org with @godotengine.org to make the next generation of collaboration tools for game development!
More detail here: inkandswitch.com/jobs/godot-i...
(Fully remote 🌍🌎🌏 contract, late Nov to April)
More detail here: inkandswitch.com/jobs/godot-i...
(Fully remote 🌍🌎🌏 contract, late Nov to April)
Love how much of the latest @reactnative.dev release is removal and deprecations! github.com/facebook/rea...
While it might cause downstream friction, it's such a healthy sign for a project to not "just add on" but tackle its technical debt head first! I hope this doesn't stop if we ever get to 1.0!
While it might cause downstream friction, it's such a healthy sign for a project to not "just add on" but tackle its technical debt head first! I hope this doesn't stop if we ever get to 1.0!
github.com
October 8, 2025 at 6:36 AM
Love how much of the latest @reactnative.dev release is removal and deprecations! github.com/facebook/rea...
While it might cause downstream friction, it's such a healthy sign for a project to not "just add on" but tackle its technical debt head first! I hope this doesn't stop if we ever get to 1.0!
While it might cause downstream friction, it's such a healthy sign for a project to not "just add on" but tackle its technical debt head first! I hope this doesn't stop if we ever get to 1.0!
With React transition to a new technical governance structure, I'm more excited than ever to contribute. It's a marathon, not a sprint and it's here to stay.
October 7, 2025 at 6:56 PM
With React transition to a new technical governance structure, I'm more excited than ever to contribute. It's a marathon, not a sprint and it's here to stay.
I don't know why we collectively tolerate this 👇
debugging e2e tests where the iteration cycle is ~5 minutes is hell
way too slow to find any flow
too quick to context switch to another task
way too slow to find any flow
too quick to context switch to another task
October 6, 2025 at 4:46 PM
I don't know why we collectively tolerate this 👇
@nodejs.org & @nodeland.dev as part of landing Node-API support into Hermes & React Native, I want to build a pure ECMAScript (no Node.js runtime APIs) conformance test suite for Node-API implementors to test against. Is this something you'd be interested in adopting, collaborating on or sponsor?
October 6, 2025 at 7:33 AM
@nodejs.org & @nodeland.dev as part of landing Node-API support into Hermes & React Native, I want to build a pure ECMAScript (no Node.js runtime APIs) conformance test suite for Node-API implementors to test against. Is this something you'd be interested in adopting, collaborating on or sponsor?
@deno.land & @bartlomieju.bsky.social as part of landing Node-API support in Hermes & React Native, I'll build a pure ECMAScript (no Node.js runtime APIs) conformance test suite for Node-API implementors to test against. Is this something you'd be interested in adopting, collaborating on or sponsor?
October 6, 2025 at 7:32 AM
@deno.land & @bartlomieju.bsky.social as part of landing Node-API support in Hermes & React Native, I'll build a pure ECMAScript (no Node.js runtime APIs) conformance test suite for Node-API implementors to test against. Is this something you'd be interested in adopting, collaborating on or sponsor?
@bun.sh & @jarredsumner.com as part of landing Node-API support into Hermes & React Native, I want to build a pure ECMAScript (no Node.js runtime APIs) conformance test suite for Node-API implementors to test against. Is this something you'd be interested in adopting, collaborating on or sponsor?
October 6, 2025 at 7:24 AM
@bun.sh & @jarredsumner.com as part of landing Node-API support into Hermes & React Native, I want to build a pure ECMAScript (no Node.js runtime APIs) conformance test suite for Node-API implementors to test against. Is this something you'd be interested in adopting, collaborating on or sponsor?
Reposted by Kræn Hansen
Node-API in React Native means cross-runtime, type-safe, and faster React Native development. @kraenhansen.dk (@MongoDB) shows how Node-API brings faster builds, fewer native module failures, and better testing.
▶️ youtu.be/Wco3uHxik8w
▶️ youtu.be/Wco3uHxik8w
Bringing Node-API to React Native | Kræn Hansen at React Universe Conf 2025
YouTube video by Callstack
youtu.be
September 29, 2025 at 1:24 PM
Node-API in React Native means cross-runtime, type-safe, and faster React Native development. @kraenhansen.dk (@MongoDB) shows how Node-API brings faster builds, fewer native module failures, and better testing.
▶️ youtu.be/Wco3uHxik8w
▶️ youtu.be/Wco3uHxik8w
Anyone exploring #reactnative and #kotlin multi-platform interop? Searching reactnative.directory yield no results 🤔
September 24, 2025 at 12:26 PM
Anyone exploring #reactnative and #kotlin multi-platform interop? Searching reactnative.directory yield no results 🤔
Want to use the new Strict TypeScript API for #reactnative you might want to upvote github.com/microsoft/Ty... to help unblock github.com/facebook/rea... 🤞
Fail resolution when custom condition explicitly maps specifier '.' to null · Issue #62439 · microsoft/TypeScript
Demo Repo https://github.com/kraenhansen/typescript-issue-62439 Which of the following problems are you reporting? Something else more complicated which I'll explain in more detail Demonstrate the ...
github.com
September 23, 2025 at 9:59 PM
Want to use the new Strict TypeScript API for #reactnative you might want to upvote github.com/microsoft/Ty... to help unblock github.com/facebook/rea... 🤞
Working on my @reactuniverseconf.com presentation I need inspiration for a stupid "native API" to implement a Node.js native addon for: "best" candidate is `ejectCupHolder` with me narrating "like this example of ejecting a compact disk drive".
Afraid people will be too young to get the "joke" 😬🤦
Afraid people will be too young to get the "joke" 😬🤦
August 24, 2025 at 9:59 PM
Working on my @reactuniverseconf.com presentation I need inspiration for a stupid "native API" to implement a Node.js native addon for: "best" candidate is `ejectCupHolder` with me narrating "like this example of ejecting a compact disk drive".
Afraid people will be too young to get the "joke" 😬🤦
Afraid people will be too young to get the "joke" 😬🤦