Ryan Toronto
ryantoron.to
Ryan Toronto
@ryantoron.to
FlightServer.lean 👀 lets goooo!
October 14, 2025 at 2:57 PM
thanks tom! i really need to give convex try, it looks awesome
August 11, 2025 at 8:11 PM
thanks! i ran into a nasty bug a few weeks ago when our dashboard was displaying a bunch of "incorrect" information because queries were firing at different times
August 11, 2025 at 8:07 PM
This post explores how components that read impure data can end up with inconsistent trees, and how React's cache function easily fixes that for you.
August 11, 2025 at 7:28 PM
it's awesome. my favorite piece about it is how it flattens all async calls and gives you the mental model of sync execution.

uAS+async will always run in order, and each call gets access to previous state even if it was called before the previous call finished 🤯
July 3, 2025 at 2:06 PM
Process wise I write way more jsdoc comments now. I treat those as future proofing and guarding against any agent that comes into the code base.

Also I'm finding tests to be way more valuable these days. I look at tests as a cheap insurance option now.
June 25, 2025 at 2:23 PM
I find it helpful it on the edges for non-app code. Like "make me a persistent hash map" that I can then tweak/play with.

Also it's amazing for autocompleting the current line.

But I'm not a fan of huge chunks of app code written with AI. I believe that requires taste that the agent doesn't have.
June 25, 2025 at 2:18 PM
This switches to the react-server export condition for this import? I like it!
June 25, 2025 at 2:04 PM
This can be hard to wrap your head around the first time you see RSC. I think it deserves a follow up post!
June 18, 2025 at 1:46 PM
This is a great question. If you have <Intersection><RSC></Intersection>, the RSC will run on the server before <Intersection> runs on the client.

So you end up with <Intersection>Output from RSC</intersection>. You can wrap in Suspense to not block rendering, but it doesnt prevent RSC from running
June 18, 2025 at 1:45 PM
Sounds interesting... Do you have an example UI in mind for that sort of use case?
June 17, 2025 at 6:07 PM
Great great article, thanks for sharing

I know it's a bit boilerplatey, but personally I've found the setState during render (increase/decrease example from docs) to work well with derived useStates based on changing props
June 12, 2025 at 4:26 PM
Really enjoyed this one. Great post and the video walk through is fantastic as well.
June 9, 2025 at 7:32 PM
They are the worst :(

Also the AIs that start commenting on issues and other people's pull requests
May 22, 2025 at 9:21 PM
I'm willing to bet in most my RSC apps I'm passing larger objects than needed between server and client, but it hasn't really been a problem so far.

Agree with Jacob that it's about education. My 2c is devs need to understand .bind and serialization to do RSC well
May 18, 2025 at 12:52 AM
I made this to help with hoisting and encryption for inline server functions github.com/twofold-rsc/...

Lemme know if you have any interest in something like that for Parcel
May 17, 2025 at 12:57 PM
Will do! Thanks for the nudge!
April 29, 2025 at 5:09 PM
It's so elegant, been using it for the last few weeks and I love it. Might be my favorite example of a directive because:

- Automatic cache keys
- Function hoisting similar to server functions (you can close over variables)
- Opaque references (passing children doesnt create a new entry)
April 28, 2025 at 1:26 PM
Thanks Artem!
April 26, 2025 at 7:44 PM