Trending
Benjie's Avatar

Benjie

@benjie.dev

Community-funded OSS developer, working on tooling for Node.js, GraphQL and PostgreSQL. GraphQL Technical Steering Committee member. GitHub: @benjie YC W11

187
Followers
156
Following
54
Posts
13.09.2023
Joined
Posts Following

Latest posts by Benjie @benjie.dev

Preview
Modelling Errors | benjie.dev There's a lot of discussion about how to model errors in GraphQL, and a lot of

GraphQL error handling driving you nuts?

@benjie.dev shows a cleaner path by explaining how nulls, errors and schema design should really work together.

Read it here: benjie.dev/graphql/errors

#GraphQL #APIs

01.12.2025 22:00 πŸ‘ 5 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0

It’s super annoying and incredibly verbose; and half the text is nonsense. Send me your prompt, I can run it through AI myself if I want!

11.11.2025 08:56 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
wg-november A brief history of nullability Apr 2021: query level nullability PR Nov 2021: CCN Jul 2023: nullability-wg Sep 2023: true nullability Oct 2023: @noBubblesPlz Oct 2023: strict nullability Nov 2023: ast...

Yesterday was the #GraphQL primary working group and I made a presentation about @benjie.dev capabilities proposal.

Slides (cute kittens included!) below.

docs.google.com/presentation...

07.11.2025 10:43 πŸ‘ 4 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0

I really need to get around to seeing if socket.dev produces less noise.

16.10.2025 11:08 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

"HIGH PRIORITY VULNERABILITY" screams Snyk.

"DIRECTORY TRAVERSAL!"

Tell me more...

"Introduced through: pg-sql2@2.2.3 β€Ί @types/pg@7.4.14 β€Ί @types/pg-types@1.11.4 β€Ί moment@2.22.2"

Unless I'm severely mistaken how Definitely Typed works, I'm pretty sure that's not an exploitable vulnerability.

16.10.2025 11:08 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

The debate over β€œqueries” vs β€œoperations” vs β€œdocuments” is separate; but you’re persisting a document (containing at least one operation which may or may not be a query, plus any of their required fragments); thus β€œqueries” is a misnomer & β€œoperation” limits to docs with exact one op unnecessarily

13.10.2025 12:50 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Persisted documents: send identifier rather than entire document (network optimisation)

Automatic persisted queries: ad-hoc persisted documents via optimistic runtime negotiation

Trusted documents: persisted documents used as an allowlist, where persistence signifies trust (security & speed)

13.10.2025 12:50 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Great post from Jovi here! Remember:

Trusted Documents: if you can, you should!

13.10.2025 09:44 πŸ‘ 8 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0

Matt Mahoney has been discussing "generic fragments" where the generics are part of the operation document rather than the schema itself, I don't recall if he gave a talk about it this year but it was certainly something we discussed during the unconference. This might address your needs?

18.09.2025 15:16 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Connection wanting to be a generic is well understood; but I don't quite follow your errorable response - is there a particular reason that's not a union or interface? e.g. `union CreatePuzzleResult = CreatePuzzlePayload | ErrorResult`

18.09.2025 15:13 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
GraphQL Conf 2025 Recap | Hive Our recap of GraphQL Conf 2025 in Amsterdam: 10 years of GraphQL, new spec release, Hive Router launch, Codegen update, and key community takeaways.

Missed out on GraphQLConf? The Guild have written up some of the highlights and key takeaways! Spec release, input unions, correct fragment usage, errors and nullability, federation interoperability, and more - check it out:

the-guild.dev/graphql/hive...

16.09.2025 21:21 πŸ‘ 5 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0

Our team is at #GraphQLConf today, if you’re here come and say hi! It was a blast to celebrate the GraphQL Stars on stage and launch the Ambassador Program

08.09.2025 09:16 πŸ‘ 5 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0

We've just launched the GraphQL Ambassadors Program at #GraphQLConf & we're celebrating our first cohort!

GraphQL Ambassadors are community leaders who help others, share their expertise, and contribute knowledge back to the community. Meet the cohort & learn more:
graphql.org/blog/2025-0...

08.09.2025 14:20 πŸ‘ 3 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0

Would love to hear more! Could you maybe scratch out a gist or similar with what you envision the final schema and the client queries looking like? Generics risk significant complexity, so we need solid use cases to both help justify it and also guide its design.

08.09.2025 23:09 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

GraphQL 2? @keweiqu.bsky.social @mbonnin.net @benjie.dev and Curtis holding court on how the language could change #GraphQLConf

08.09.2025 09:34 πŸ‘ 1 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0
GraphQLConf mobile API

Yo dawg! I heard you like #GraphQL so I put the #GraphQLConf2025 data in a #GraphQL API so you can browse all the #GraphQL things using #GraphQL

graphqlconf.app

05.08.2025 08:32 πŸ‘ 8 πŸ” 5 πŸ’¬ 0 πŸ“Œ 2

That very closely aligns with my experience πŸ‘

01.08.2025 12:47 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

complex task I spend more time reviewing their code and checking it's right than I would have spent just writing it myself. That said, they're often great at then writing the test suite for the functionality :D

01.08.2025 11:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

challenging their solutions typically get further and further from the ideal. If all you need is batch work that a junior could do then yeah they're a massive time saver, but if you're doing something innovative/complex, their results are frequently wrong in the most subtle of ways. I find for many

01.08.2025 11:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Right! What I mean by them being "terrible at code" is that they don't _understand_ what they're doing, they struggle with a-typical requirements. Like with a junior dev: they can string a bunch of docs/StackOverflow/etc together to produce something that seems to work, but the moment it gets

01.08.2025 11:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

machine. Rather than having it mod my code directly, I prefer to have it generate a codemod that I can review, and then I run the codemod against my code.

Great for prototyping though, because prototyping is mostly autocomplete from READMEs/docs, and that’s where LLM’s shine. (v0 is great for UI!)

01.08.2025 10:18 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

still useful in helping to shape the solution. Given the kind of code I’ve seen it produce, I’m loathe to hook it up to anything where `node --watch` or similar might actually execute the code and cause devastation, in a similar way that I wouldn’t allow a junior programmer to write code on my

01.08.2025 10:18 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Yeah, I use them heavily because they are useful for the drudgery. But you can never trust it, and once you get into complex areas (e.g. building fan-out with async iterables) it makes a hell of a lot of mistakes that are subtle to spot/track down. I throw away more code samples than I use, but it’s

01.08.2025 10:18 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

ChatGPT gives me the best results in general, its tools are more reliable and claude and llama seem to go off the rails pretty quickly and immediately backpedal the moment you challenge them. I’ve not managed to run the 70b params llama, I don’t have enough VRAM or patience 🀣

01.08.2025 09:08 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

In my experience it sucks at JS, but yeah I bet it nails the basics. Handling multi-consumer async iterables though and it's a) introducing race conditions, and b) telling me that my code has race conditions when it definitely doesn't πŸ™„

The worst thing is how confident it sounds.

31.07.2025 15:19 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I use LLMs heavily, and they're _terrible_ at code. Really really bad. Using them as autocomplete is okay-ish, but ask them to generate something serious or review something you wrote and they're wrong way more often than they're right.

I advise you treat them as the most junior of junior devs.

31.07.2025 13:11 πŸ‘ 9 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0
Keynote: Community Update 2025: Growing in the Open - Benjie Gillam, Director & Maintainer, Graphile; Jem Gillam, Community Operations, Graphile; Uri Goldshtein, CEO, The Guild | GraphQLConf 2025 Even ten years in, GraphQL continues to evolveβ€”not just in code, but in connection. This year the Foundation has doubled down on transparency, support, and shared leadership: board minutes are now pub...

In exciting news, I will be on stage for the first time since 2018 at GraphQL Conf, but it wont be too nerve wracking as I'll have @benjie.dev with me. We've got a huge community update to present! graphql.org/conf/2025/sc...

23.07.2025 09:21 πŸ‘ 6 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0
Ruru | Grafast Ruru is a distribution of GraphiQL, the

Thanks so much to the GraphiQL maintainers and especially Dima for getting it over the finish line!

Ruru, our Grafast-enhanced GraphiQL distribution, is already updated and raring to go:

- Demo: grafast.com/myruru/#endp...
- Docs: grafast.org/ruru/

17.07.2025 20:06 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

Made a quick video today with @jem.graphile.org to demonstrate a couple of the features in the new GraphiQL V5 with Monaco; it has familiar shortcuts, multiple cursors, command-palette to discover more capabilities, and even colour-matched braces to help you spot where your nesting went wrong!

17.07.2025 20:06 πŸ‘ 6 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0
GraphQLConf 2025 β€” Sept 08-10 | GraphQL Join the official GraphQL Conference by the GraphQL Foundation in Amsterdam, Netherlands, from September 8-10, 2025. Discover the future of GraphQL with leading experts, workshops, and networking oppo...

EUROPEAN GRAPHQL-ers: help prove demand for events outside of San Francisco!

2025's GraphQLConf is in Amsterdam; attend, sponsor, share β€” everything increases the chance of a future return to πŸ‡ͺπŸ‡Ί!

⏰ Early Bird ends in 4 days: get your ticket now! ⏰

The schedule is πŸ”₯ graphql.org/conf/2025/sc...

10.07.2025 11:07 πŸ‘ 7 πŸ” 4 πŸ’¬ 0 πŸ“Œ 0