Sign in

Benjie

@benjie.dev
198 followers 160 following 61 posts

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

PostsRepliesMedia
Benjie @benjie.dev · 15/07/2026
51.0° N; get rid of DST! [Looks at your post history to see what this is in context to.] Ah, I guess my longitude might also be relevant to that discussion ;)
000
Benjie @benjie.dev · 24/06/2026
Unexpected benefit... When you remember about your tea half an hour later... it's still warm!
020
Benjie @benjie.dev · 24/06/2026
One thing that’s not talked about enough during a heatwave is how much longer it takes for your tea to cool down. I need my caffeine… I’m considering putting an ice cube in it 😅
Cup of black tea in a GitHub branded black mug; the teaspoon bathing comfortably in the scalding hot liquid, taunting the viewer with the promise of forbidden caffeine
100
Reposted by Benjie
Jem @jem.graphile.org · 19/05/2026
One of the things we’re excited about this year is creating a Golden Path for GraphQL, here is @graphile.org’s @benjie.dev and Meta’s @keweiqu.bsky.social introducing the initiative
Benjie, a bald man in a black suit with golden tie, and Kewei, a woman with dark hair and wearing a tan suit, are on stage with a slideshow with title “creating a golden path for GraphQL”
143
Benjie @benjie.dev · 24/03/2026
V5's database queries are much simpler and more performant than in V4 (which was already faster than traditional execution methods!) thanks to offloading work from Postgres to the Grafast planning engine in Node. I'm so happy that what started out as a theory is now having such measurable impact!
011
Benjie @benjie.dev · 24/03/2026
That's amazing! I'm so happy to hear that! Do send me the numbers if you want, I'd love to know specifics. And if you ever have some outliers that go the other way I'd love to help fix it 🛠️
000
Benjie @benjie.dev · 24/03/2026
Thanks for the kind words, Paul - and of course for your work in ReScript! We've quite a few in the community that use it from what I hear in the chat, and never a bad word spoken!
020
Reposted by Benjie
Paul Tsnobiladzé 🇫🇷🇬🇪🇺🇦 @tsnobip.bsky.social · 24/03/2026
I've been using postgraphile for years at work, including latest V5 RCs and it's just a pure gem, very fast and extremely flexible, plus it works perfectly with rescript-relay! Kudos @benjie.dev for the great work!
242
Benjie @benjie.dev · 24/03/2026
Thanks Chandler! It's certainly been a head-scratcher at times, and I went down the wrong path more than once, but I couldn't be happier with where we've landed - it just feels right! And there's so many things I'm excited to build on it!
010
Reposted by Benjie
Chandler Gonzales @chandlergonzales.com · 24/03/2026
It would be hard to understate how large of a feat of engineering this was. PostGraphile is such a powerful tool and it's great to see such a great foundation for the future in v5 Kudos to @benjie.dev, Jem, and all who contributed to Postgraphile
222
Reposted by Benjie
GraphQL @graphql.org · 01/12/2025
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
benjie.dev
Modelling Errors | benjie.dev
There's a lot of discussion about how to model errors in GraphQL, and a lot of
052
Benjie @benjie.dev · 11/11/2025
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!
030
Reposted by Benjie
Martin Bonnin @mbonnin.net · 07/11/2025
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...
docs.google.com
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...
042
Benjie @benjie.dev · 16/10/2025
I really need to get around to seeing if socket.dev produces less noise.
010
Benjie @benjie.dev · 16/10/2025
"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.
120
Benjie @benjie.dev · 13/10/2025
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
110
Benjie @benjie.dev · 13/10/2025
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)
110
Benjie @benjie.dev · 13/10/2025
Great post from Jovi here! Remember: Trusted Documents: if you can, you should!
Business card containing "Fast and secure! Protect your API with Trusted Documents. If you can, you should! Compatible with most GraphQL Clients and Servers"
181
Benjie @benjie.dev · 18/09/2025
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?
030
Benjie @benjie.dev · 18/09/2025
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`
110
Benjie @benjie.dev · 16/09/2025
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...
the-guild.dev
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.
052
Reposted by Benjie
Graphile @graphile.org · 08/09/2025
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
053
Reposted by Benjie
GraphQL @graphql.org · 08/09/2025
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...
032
Benjie @benjie.dev · 09/09/2025
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.
130
Reposted by Benjie
Jeff Auriemma @jeff.auriemma.xyz · 08/09/2025
GraphQL 2? @keweiqu.bsky.social @mbonnin.net @benjie.dev and Curtis holding court on how the language could change #GraphQLConf
112
Reposted by Benjie
Martin Bonnin @mbonnin.net · 05/08/2025
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
graphqlconf.app
GraphQLConf mobile API
085
Benjie @benjie.dev · 01/08/2025
That very closely aligns with my experience 👍
010
Benjie @benjie.dev · 01/08/2025
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
000
Benjie @benjie.dev · 01/08/2025
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
100
Benjie @benjie.dev · 01/08/2025
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
100
Benjie @benjie.dev · 01/08/2025
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!)
110
Benjie @benjie.dev · 01/08/2025
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
110
Benjie @benjie.dev · 01/08/2025
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
110
Benjie @benjie.dev · 01/08/2025
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 🤣
020
Benjie @benjie.dev · 31/07/2025
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.
110
Benjie @benjie.dev · 31/07/2025
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.
290
Reposted by Benjie
Jem @jem.graphile.org · 23/07/2025
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...
graphql.org
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...
162
Benjie @benjie.dev · 17/07/2025
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/
grafast.org
Ruru | Grafast
Ruru is a distribution of GraphiQL, the
030
Benjie @benjie.dev · 17/07/2025
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!
161
Benjie @benjie.dev · 10/07/2025
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...
graphql.org
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...
074
Benjie @benjie.dev · 10/07/2025
I use Firefox primarily, but I often have to open Chrome to debug things because the Firefox experience isn't that great. Which is disappointing considering Firebug basically started the whole web devtools revolution! I loved that thing 💗 Thanks for trying Ricky 💪
050
Reposted by Benjie
Jem @jem.graphile.org · 03/07/2025
graphql.org/conf/2025/
graphql.org
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...
021
Benjie @benjie.dev · 03/07/2025
Just 10 days left to save $300 off your ticket to GraphQLConf '25 in **AMSTERDAM** 8-10th September. The talk line-up looks fantastic! Looking forward to seeing you there!
011
Reposted by Benjie
Brooke @brookke.bsky.social · 02/06/2025
I don’t see many teams using GraphQL fragments, and I think they’re missing out. Fragments let you co-locate your components data requirements with your components. I wrote a quick post showing how this works to make maintaining your apps simpler. Check it out: brookehatton.com/blog/enginee...
brookehatton.com
GraphQL Fragments: Why Are They Useful?
163
Benjie @benjie.dev · 27/06/2025
Really good article! One minor benefit that you might want to add: due to fragment masking it’s safe to remove a field your component isn’t using anymore - you don’t need to worry that some other component might be depending on it. This is critical for evolution without bloating!
120
Benjie @benjie.dev · 25/06/2025
Love that you’re writing about such an important topic! The link sadly is 404
100
Benjie @benjie.dev · 25/06/2025
London GraphQL next week! New venue: American Express just across the road (literally!) from Victoria Station. Two great talks and a little recap of some of the things being worked on at the GraphQL working groups! Register so we know how much 🍕to get 😋 guild.host/events/londo...
guild.host
London GraphQL July | Guild
Jul 1st 6:00PM: Come and join us for the Summer edition of London GraphQL; Two talks on the most up-to-date GraphQL topics interspersed with
053
Benjie @benjie.dev · 24/06/2025
I believe so; the plugin that integrates it has been updated I think!
010
Benjie @benjie.dev · 24/06/2025
GraphiQL v5.0 was just released; it integrates Monaco editor (so you get coloured matching braces, multiple cursors, and all the stuff you're probably already familiar with in VSCode - press F1!) and also enables comments in the variables editor. Check it out! github.com/graphql/grap...
github.com
Release graphiql@5.0.0 · graphql/graphiql
We're thrilled to announce the release of the all-new GraphiQL 5, powered by the latest version of the Monaco editor! 🎉 We've also added support for comments in the Variables and Headers editors. T...
1216
Reposted by Benjie
GraphQL @graphql.org · 17/06/2025
📣 The #GraphQLConf 2025 schedule is live! 🔥 Join us in Amsterdam 8-10 Sept. for deep dives and exclusive #GraphQL talks. Amazing sessions lined up! ➡️ graphql.org/conf/2025/
graphql.org
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 opportunities.
065