Robert Balicki
statisticsftw.bsky.social
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
And not only does this work in VSCode, thanks to github.com/sp6370, we're also publishing the extension to the Open VSX registry! So you can use it in other editors! Thanks!!
December 14, 2025 at 9:56 PM
And most importantly... if you select a field that doesn't exist, the extension will offer to create it for you! Wow!!

Isograph is truly committed to helping you ship fast :)
December 14, 2025 at 9:56 PM
We now have autocomplete of fields!
December 14, 2025 at 9:56 PM
Errors are now surfaced in VSCode!
December 14, 2025 at 9:56 PM
Hey folks! Isograph v0.5.0 has just been released!! The trend of groundbreaking releases continues 🎉

This release includes support for optimistic updates and for writing external data into Isograph. And it has massive DevEx wins 🤩 and huge perf wins.

Let's dive in!
December 14, 2025 at 9:56 PM
That's enough for now, but expect more threads in which I do a deep dive on all of the other awesome features that we shipped in v0.4!
September 20, 2025 at 9:52 PM
So go for it! Give Isograph a try! Star the repo! Join the discord! isograph.dev/discord
September 20, 2025 at 9:52 PM
It's just another way in which Isograph allows you to improve performance (fetch less data) while improving developer experience (and velocity!)

Thank you Patryk Wałach for putting in an absolutely heroic amount of work on pointers over the course of a year 🤩
September 20, 2025 at 9:52 PM
They're defined extremely similarly to client fields! Except instead of returning an arbitrary value, you return a link to another GraphQL object.
September 20, 2025 at 9:52 PM
This release introduces client pointers, which were the biggest missing primitive in Isograph! Client pointers are like client fields that return a link to another object, and off of which you can select additional fields.

Here, we select fields off of the dirtiestDodger pointer
September 20, 2025 at 9:52 PM
Next — a new primitive! Isograph apps are composed of client fields, which are functions from graph data to an arbitrary value. You can't select anything off of client fields, i.e. they are "leaves."

SuspectsCard and DirtiestDodgerCard are client fields in this example.
September 20, 2025 at 9:52 PM
First up: the VSCode extension.

Without the VSCode extension, working with Isograph literals feels like manipulating magic strings. But with syntax highlighting, go to definition, and hover info — the VSCode makes it easy to form a mental model of the structure of your app.
September 20, 2025 at 9:52 PM
sograph 0.4 has been released!! Importantly, this includes the official release of the VSCode extension! It includes new primitives! And it includes so much more!

Let's talk about the VSCode extension and client pointers, and save the rest for another thread 😎
September 20, 2025 at 9:52 PM
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
July 29, 2025 at 3:35 PM
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:
July 29, 2025 at 3:35 PM
#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.
March 18, 2025 at 7:58 PM
Content Foundry made it to the HN front page!!!
March 7, 2025 at 8:30 PM
github.com/lanesawyer added a demo of using Isograph with Vite, and improved our internal tooling massively 😅😅🤩
March 3, 2025 at 7:55 PM
Thanks once again to Patryk, we lifted the requirements that IDs are globally unique! Now, they only have to be unique within a given typename.

This was, for many years, a blocker to the adoption of other frameworks. Don't let it stop you from adopting Isograph!
March 3, 2025 at 7:55 PM
`onComplete` and `onError` callbacks. Now, when you make a network request with `useLazyReference` or `useImperativeReference`, you can be notified if the network request completed or errored out.
March 3, 2025 at 7:55 PM
We added support for refining from interface/union types to concrete types, using `asConcreteType` fields that are added by the compiler.
The value of these fields will be null if the abstract type doesn't match the concrete type!
March 3, 2025 at 7:55 PM
Fetch policies — we've added fetch policies. Now, when you make a network request using `useLazyReference` or `useImperativeReference`, you can specify that the network request should always go out, never go out, or go out only if there is missing data in the local store.
March 3, 2025 at 7:55 PM
We're *extremely* excited to announce the release of Isograph 0.3.0 and 0.3.1! These releases are chock-full of new features, and make Isograph much more usable in real-world projects. Let's dive in!

isograph.dev/blog/2025/03...
March 3, 2025 at 7:55 PM
Once again, I am minorly annoyed that TypeScript doesn't properly handle single-variant enums aka it should understand that _ is actually never in this situation cc @ballingt.com
January 31, 2025 at 9:45 PM
I have a type, IsExactlyEqual. It doesn't quite work exactly, as demonstrated by the second picture.

Is there any way to make this behave as expected? @typescriptlang.org Halp
January 29, 2025 at 3:51 AM