Robert Balicki's Avatar

Robert Balicki

@statisticsftw.bsky.social

Creator of Isograph https://github.com/isographlabs/isograph. Check out my talk at GraphQL conf! https://youtu.be/sf8ac2NtwPY?si=jkljEacLsxStFfjg Pinterest, previously Relay team at Meta

752 Followers  |  450 Following  |  552 Posts  |  Joined: 02.04.2024  |  1.7973

Latest posts by statisticsftw.bsky.social on Bluesky

And yes, that hook was called conditionally. Basically, that would have to be done across two components, but there's a plan to improve the DevEx (basically @required support)

29.07.2025 15:35 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Anyway, lots more to be done (e.g. making it work with not just GraphQL, not just React and not just JS; language server, some missing primitives...)

But I'd love to come on and talk about it!

29.07.2025 15:35 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Now, the data *and* JavaScript for the pet checkins card is not part of the parent bundle/query!

This is great if you have a newsfeed with 100 different component types, some of them very rare and involving lots of JavaScript

29.07.2025 15:35 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

e.g. in this example, we don't pass any data to `Pet.PetCheckinsCard`! It just knows that it refers to the pet with id $id.

We also don't import PetCheckinsCard ourselves! Sounds trivial, but it means that the compiler can do a lot more. Consider this

29.07.2025 15:35 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

TLDR every component declares its data dependencies locally, that gets compiled into a single query that fetches all the data for a given page (e.g. `{ pet(id: $id) { name checkins { ... } }` in this example). Then, you can just "just use" each subcomponent

29.07.2025 15:35 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

Hey @jason.energy! Nice to meet you. Isograph is a framework for building data driven apps. For now, GraphQL, later, everything. I'd love to share more about it! (Ideally later in the summer, when the language server ships.)

Example here:

29.07.2025 15:35 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Awwww you shouldn't have

26.07.2025 23:16 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Add Safari Extension for Offline Article Archival by notactuallytreyanastasio ยท Pull Request #1 ยท notactuallytreyanastasio/bobrowser Summary This pull request adds a comprehensive Safari extension system that allows users to archive web pages for offline reading, significantly expanding the capabilities of the Reading Tracker be...

Well, it mostly works with Claude code wiring a shitload of hacks together but I am archiving stuff for offline viewing lol github.com/notactuallyt...

03.06.2025 01:08 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

That's really cool!!! I've never tried anything similar, so tbh I have no idea. But it's sick that you made it work!

09.06.2025 17:34 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Oh very cool! Yeah, I've reached out to Will already (I think he's ton of crates?) and he's down to present. But I'd love to also have Gavin present if possible!

11.04.2025 19:48 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Whoa! Very cool. Would you be interested in presenting at an upcoming RustNYC about this?

11.04.2025 15:20 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

My thoughts exactly

07.04.2025 02:05 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Just FYI, the audio quality was quite bad, so this talk won't be put up on YouTube :/

04.04.2025 16:39 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

and we'll also try to publish the recording

26.03.2025 18:48 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Join the Rust East Coast Discord Server! Check out the Rust East Coast community on Discord - hang out with 792 other members and enjoy free voice and text chat.

Yes! It will be streamed to the Rust East Coast discord discord.gg/P4T75n8rnT

26.03.2025 18:48 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Great coworkers (Leonardo, Michaelangelo, Donatello. Also there's Raphael but he's on a pip)

20.03.2025 20:37 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

This is our first month to have two events in a long time! Check it out if you're in NYC

18.03.2025 21:12 โ€” ๐Ÿ‘ 3    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

And just as a note, a #RustNYC tradition is to end the meetup with dtolnay's Rust Quiz. I'm pretty sure Michael will be able to beat all of us at it.

18.03.2025 19:58 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
Rust NYC: I can't believe that's legal Rust with Michael Gattozzi (NEW LOCATION), Wed, Mar 26, 2025, 6:30 PM | Meetup โš ๏ธ We have a **NEW LOCATION** and **DIFFERENT DAY OF WEEK** for this event! โš ๏ธ For our fourth meetup of 2025, we're extremely excited to a talk by **Michael Gattozzi** (In

So come! Nerd out! Eat pizza! Get to know other talented Rust engineers!

www.meetup.com/rust-nyc/eve...

18.03.2025 19:58 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

#RustNYC has another upcoming meetup on 3/26: I can't believe that's legal Rust! with @mgattozzi.dev

I'm pumped about this meetup. If you loved his RustConf talk "WEIRD EXPRESSIONS AND WHERE TO FIND THEM" (caps in original), then you're going to love this talk.

18.03.2025 19:58 โ€” ๐Ÿ‘ 6    ๐Ÿ” 2    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 1

Donโ€™t worry, laws are neutral, the rich and poor are punished the same for stealing bread

15.03.2025 00:02 โ€” ๐Ÿ‘ 9    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Something absolutely massive is about to land in Isograph, and I'm so excited

08.03.2025 02:08 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

Content Foundry made it to the HN front page!!!

07.03.2025 20:30 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Let's launch a product! / X Let's launch a product!

Content Foundry, the first company to use Isograph, is going live now!!!! x.com/i/broadcasts...

Randall Bennett, the founder, has believed in Isograph since day one!!!

In many ways, Content Foundry is the perfect initial adopter:

07.03.2025 17:26 โ€” ๐Ÿ‘ 5    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Randall and other CF folks have worked at Meta, so they've seen the DevEx you get internally, and understand the long term vision of Isograph.

And he's committed to building a small team that ships, which is to say โ€” they're going to take advantage of how Isograph makes shipping easy!!!

07.03.2025 17:26 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Let's launch a product! / X Let's launch a product!

Content Foundry, the first company to use Isograph, is going live now!!!! x.com/i/broadcasts...

Randall Bennett, the founder, has believed in Isograph since day one!!!

In many ways, Content Foundry is the perfect initial adopter:

07.03.2025 17:26 โ€” ๐Ÿ‘ 5    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Has anyone done an โ€œatproto of nothingโ€ joke yet?

05.03.2025 18:48 โ€” ๐Ÿ‘ 6    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Anyway, the 280 character limit is kind of lame, just saying. Bsky should support longer messages, like Twitter does. It makes this kind of post a lot easier. Kthx

04.03.2025 17:46 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

And, you'll be able to refetch on missing data, e.g. if you're fetching your best friend's name, and due to a new query, you discover that the best friend has changed (and the name is not fetched), you can opt into automatically refetching.

This is somewhat low priority for now, though

04.03.2025 17:46 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Soon, you'll have control over suspense and be able to read fields as unions of { kind: "Available", value: T } | { kind: "Unavailable" }, w/the option of unwrapping this type (i.e. causing the parent to be unavailable if a child field is unavailable). Currently, we effectively unwrap all fields

04.03.2025 17:46 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

@statisticsftw is following 19 prominent accounts