Sign in

Jason Kuhrt

@kuhrt.me
138 followers 81 following 188 posts

Software artisan. Ex @the-guild.dev prisma Dialogue littleBits. Creator Graffle Molt Paka Nexus. In an alternate universe ⊻ Coureur de Bois, Architect, Athlete, Lego Master Builder. 👨‍💻 github.com/jasonkuhrt

PostsRepliesMedia
Jason Kuhrt @kuhrt.me · 18/02/2026
claude-dev.tools Instant top 5 tools among the hundreds out there for me at least, hell yes. I was building something for a day or two in TUI form but a joke compared to this, looks incredibly useful, can’t wait to try tomorrow. Thank you github.com/matt1398!
claude-dev.tools
claude-devtools — See everything Claude Code did
Terminal tells you nothing. This shows you everything. Every file, tool call, and token — structured and searchable. No setup.
000
Jason Kuhrt @kuhrt.me · 31/01/2026
Wild times.
010
Jason Kuhrt @kuhrt.me · 15/12/2025
I've joined @heartbeatchat.bsky.social as a founding engineer! It is my privilege to be among their first engineering hires joining to take a platform already changing lives to the next level. It's cool too that they're using @prisma.io, @effect-ts.bsky.social, and other great tech. Here we go! 🎉 🧑‍💻
heartbeat.chat
Heartbeat | Bring your community together
Host conversations, events, content, and more on your own domain. Heartbeat gives you the building blocks to create a perfectly personalized online community.
120
Jason Kuhrt @kuhrt.me · 12/12/2025
Just dropped a seasonal ish update on my Graffle project, recapping some recent happenings and looking forward a bit. Ended up actually being a pretty productive few months :) github.com/graffle-js/g... #graphql
github.com
Autumn '25 🍂 Status Update · graffle-js graffle · Discussion #1479
Here is my seasonal update on Graffle, the Autumn '25 edition 🍂. The previous one was the Winter '25 update. Winter/Spring/Summer Retrospective Since the last update, I was busy with Polen while co...
000
Jason Kuhrt @kuhrt.me · 27/11/2025
Thanks @zed.dev and Kyle Barton for github.com/zed-industri.... Zed just got ahead of VSCode here where this functionality is only available after an extension has been installed. Great work! #typescript
github.com
Implement pretty TypeScript errors by KyleBarton · Pull Request #42494 · zed-industries/zed
Closes #7844 This change uses tree-sitter highlights as a method of showing typescript errors prettily, keeping regex as simple as possible: It covers three main areas: Diagnostics Diagnostics a...
020
Jason Kuhrt @kuhrt.me · 27/11/2025
Working on Optics for Kit. Aiming to drop all traitable get/set/update ops on data structures meaning those that can be provided via polymorphic traits e.g. `Optic.at(...)` works for e.g. tuples or structs while `Optic.ix(...)` works for e.g. arrays or records. github.com/jasonkuhrt/k...
github.com
feat(optic): Rewrite optics module per README spec · Issue #117 · jasonkuhrt/kit
Rewrite the Optic module based on the design spec below. This supersedes #115. Optic Optics are composable abstractions for reading and updating data structures. This module provides optics at two ...
010
Jason Kuhrt @kuhrt.me · 25/11/2025
Just shipped type-safe regex in @wollybeard/kit using Arkregex ⚡ github.com/jasonkuhrt/k.... Arkregex comes from the great David Blass who is also working on @arktype.io. What a great quality of life improvement, thanks David! #types #regexp #typescript
150
Jason Kuhrt @kuhrt.me · 24/11/2025
Flo end is a complex command doing quite a few things. It now has a dry run to help gain confidence before carrying out its slew of side effects. Learn more at: github.com/jasonkuhrt/f... #claude #cli #fish #workflow
010
Jason Kuhrt @kuhrt.me · 23/11/2025
Consolidating some stuff in Kit such that type and value level lens will also have a superset JSONPath syntax and this obviates the need for something like Obj.get from kit too. #typescript #jsonpath #fp #lens github.com/jasonkuhrt/k...
github.com
feat!: Lens expressions with JSONPath-aligned syntax · Issue #86 · jasonkuhrt/kit
Research References RFC 9535: JSONPath - Official JSONPath specification JSONPath - XPath for JSON - Original JSONPath proposal jq Manual - jq language reference jq vs JSONPath comparison - Analysi...
010
Jason Kuhrt @kuhrt.me · 15/11/2025
Feels like we’re at the point now with Siri where it’s just pure brand damage for Apple. At least in our home Siri on HomePods are a daily joke, total ineptitude. Privacy aside, if only I could have them IO with my Claude account. #siri #apple
000
Reposted by Jason Kuhrt
VoidZero @voidzero.dev · 13/11/2025
Watch @schickling.dev introduce LiveStore, a new local-first data layer designed to simplify the creation of high-performance, native-grade web apps by automatically syncing data with reactive SQLite and event sourcing Full Video: youtu.be/h5Bs0vEka5U
0184
Reposted by Jason Kuhrt
TypeScript.fm @typescript.fm · 13/11/2025
Today on the pod, Daniel Rosenwasser & Jake Bailey reveal what's coming in TypeScript 6 & 7! Learn about ES2024 defaults, the new Go compiler, and smarter DOM typings. share.transistor.fm/s/ad05eae6 #typescript
share.transistor.fm
What's Coming in TypeScript 6/7 | Daniel Rosenwasser | Jake Bailey | Ep 43B | TypeScript.fm - The Friendly Show for TypeScript Developers | Episode 43
Daniel Rosenwasser and Jake Bailey join the two fools to talk about what's coming soon in TypeScript 6 and 7. What changes should developers expect? What might the new compiler API look like? How is the...
32510
Jason Kuhrt @kuhrt.me · 13/11/2025
... which funnily enough use a test command example which is one i routinely see
000
Jason Kuhrt @kuhrt.me · 13/11/2025
... on the fly AI-optimized CLIs, so good); and I keep scrolling, still into only mid October. One thing I'm missing though is no subscription model like Claude Code Max. My expectation is that I will pay much more per month using api billing, at least that's what my current CC stats tell me.
100
Jason Kuhrt @kuhrt.me · 13/11/2025
... accumulated with Claude Code over the past 6+ months. I wish I'd discovered Amp sooner but the upside is I have an appreciation for things they're shipping that I might not have otherwise. Some recent bangers: better code review; handoff (better compaction); rush mode; toolboxes (think ...
100
Jason Kuhrt @kuhrt.me · 13/11/2025
Thanks to @colelawrence.com I today discovered ampcode.com. Reading their changelog (at /news) and getting excited. There are some great ideas here (I'm excited to read other devs' prompt flows), pace of change appears breakneck, and they're removing paper cut after paper cut that I've ...
ampcode.com
Amp
A frontier coding agent engineered to maximize what’s possible with today’s latest models—autonomous reasoning, comprehensive code editing, and complex task execution.
110
Jason Kuhrt @kuhrt.me · 13/11/2025
Hoping to make it to the first @effect-ts.bsky.social meetup in NYC next week! Looking for a few nights low key lodging, like couch surfing 🛋️, if you or someone you know might be up for the very random act of hosting this Canadian please DM me! 🙏🏻🫶 luma.com/ihoo6kxy?tk=...
luma.com
Effect NYC Meetup #1 · Luma
Join us for the Effect Meetup in NYC! Who should attend: Engineers building production-grade applications in TypeScript Anyone building or exploring modern,…
010
Jason Kuhrt @kuhrt.me · 12/11/2025
I do like that @chadtmiller.com building it appears to like @graphql.org, @gleam.run, and hiking (how great is it that there's no @-mention for that :) which is starting to be some sort of overlap with my life, now wondering if he has ADHD, two kids, and a love for type safety as well 😆 👋
020
Jason Kuhrt @kuhrt.me · 12/11/2025
... succumb to entropy against civility and user experience but I want to be wrong, @bsky.app seems to be progressing ok for example (not paying so much attention but that's kind of the point, I pay no attention to/on X but still readily have negative experiences there), but its still early.
110
Jason Kuhrt @kuhrt.me · 12/11/2025
Cool to see this @grain.social. This year I migrated off of Instagram to my personal website kuhrt.me/capturing. But I do enjoy a healthy social experience. Maybe that's what Grain is/will be/remain as :). I am sceptical that pretty much any social platform of sufficient "success" (scale) will ...
kuhrt.me
Capturing – Kuhrt
Images by Jason Kuhrt
100
Jason Kuhrt @kuhrt.me · 11/11/2025
Thanks for that poetry, Claude. ✨ #ai #types #rust #scala
000
Jason Kuhrt @kuhrt.me · 09/11/2025
... don't necessarily see a fork in the road, but instead potential for both, expressive with _rigid presets_. You can think of a linter for example as a preset for a language. Ideally/But preset construction/sharing/use cannot be an afterthought, must be first class, seamless, near trivial. #api
000
Jason Kuhrt @kuhrt.me · 09/11/2025
On design: Thinking of 'One obvious way' versus 'expressiveness' (e.g. Python versus Ruby), not as a dichotomy but as a continuum, have the expressiveness AND then allow layering on the 'obvious way' for <thing> ([mono]repo, package, file, block, ...). In other words when designing an interface, ...
100
Jason Kuhrt @kuhrt.me · 09/11/2025
Yeah this strikes me as something that should be possible already via some local lsp server queries. I'm surprised its not done yet, tempting project but I cannot believe no one(s) is actively solving this, intersection of AI tooling and roughly the most popular language in the world.
100
Jason Kuhrt @kuhrt.me · 09/11/2025
#typescript #claude #ai
030
Jason Kuhrt @kuhrt.me · 09/11/2025
I would appreciate a TypeScript LSP MCP, Claude Code could turn a laborious non-deterministic process (easily 1+ minutes on large code bases) of identifier renames into a few seconds deterministic process. For now I try to do that for Claude but steals some degree of flow from me.
230
Jason Kuhrt @kuhrt.me · 01/11/2025
Thank you LambaTest for becoming Graffle's first recurring monthly sponsor ❤️! I couldn't be more delighted 🍻. Check them out at www.lambdatest.com.
010
Jason Kuhrt @kuhrt.me · 27/10/2025
@effect-ts.bsky.social
110
Jason Kuhrt @kuhrt.me · 27/10/2025
Finally, If you know of someone(s) this might be relevant for, please share! Thanks!
000
Jason Kuhrt @kuhrt.me · 27/10/2025
striving to achieve world class developer experiences (DX) and want help I would love to talk! More generally, If you’re building something ambitious with Effect and/or take quality TypeScript seriously (or want to), I would love to talk too.
210
Jason Kuhrt @kuhrt.me · 27/10/2025
I’m looking for my next opportunity 👨‍💻, short/long contracts or part/full time. My experience is 15 years across the stack and architecture often focused on open source and next generation developer tooling, libraries, frameworks in the TypeScript space. If your company or project is ...
261
Jason Kuhrt @kuhrt.me · 27/10/2025
TIL! How subtle is that, damn. Seems like a good candidate for a lint rule.
000
Jason Kuhrt @kuhrt.me · 27/10/2025
#graphql #typescript
010
Jason Kuhrt @kuhrt.me · 27/10/2025
Musing over an idea I'm calling "Autotest" to scratch my own itch that marries JSDoc tests into generated test files with comprehensive support across types and terms (values). Would you use this? Thoughts? github.com/jasonkuhrt/k...
github.com
Autotest: Vitest plugin for automated testing at type and term levels · Issue #60 · jasonkuhrt/kit
Autotest A Vitest plugin for automated testing at the type and term levels. Workflow (once) You register AutoTest Vitest plugin (once) You add a .autotest.ts file adjacent to a .ts file you want to...
000
Jason Kuhrt @kuhrt.me · 25/10/2025
It's been a rewarding challenge to push my skills on this project and achieve things that a year ago I would have seen as daunting or impossible. More than once I've felt a previous sense of plateau in skills shatter, for example an increase of flow states I can enjoy with the TS compiler 🌊.
010
Jason Kuhrt @kuhrt.me · 25/10/2025
graffle.js.org/guides/docum... - This documents GQL TS LSP Setup for those using native GQL syntax. Kudos to @kitten.sh et al who made and maintain that! So thanks to that, one gets autocomplete with whichever syntax they use. Meanwhile Graffle string parsing ensures their symmetric type safety to.
graffle.js.org
LSP Setup | Graffle
Minimalist Progressively Type Safe GraphQL Client For JavaScript.
110
Jason Kuhrt @kuhrt.me · 25/10/2025
graffle.js.org/guides/docum... - This covers a generator feature issue dating 1+ years ago but was realized only days ago. I'm excited for this addition and the DX unlock it gives for cases that need it, aliasing/grouping slicing and dicing the schema interface to fit your needs!
graffle.js.org
Domains | Graffle
Minimalist Progressively Type Safe GraphQL Client For JavaScript.
110
Jason Kuhrt @kuhrt.me · 25/10/2025
graffle.js.org/guides/docum... - This covers custom scalars which is a cool GQL feature but typically a PITA to actually realize in practice. Graffle goes the extra miles to make it hum. It is such a particular, perennial and cross cutting topic in GQL that I gave it a page its own too.
graffle.js.org
Custom Scalars | Graffle
Minimalist Progressively Type Safe GraphQL Client For JavaScript.
110
Jason Kuhrt @kuhrt.me · 25/10/2025
graffle.js.org/guides/docum... - This covers variable hoisting which is worth a dedicated page because of the novel concepts used to model GQL document variables in a TS context. As far as I know there's nothing else in the ecosystem as thoughtful with its variable handling as this.
graffle.js.org
Variable Hoisting | Graffle
Minimalist Progressively Type Safe GraphQL Client For JavaScript.
110
Jason Kuhrt @kuhrt.me · 25/10/2025
graffle.js.org/guides/docum... - This covers actually doing something useful with those built documents! It also shows off the fancy ergonomics of how variables and operation names are fully accounted for in a, again, progressive way (e.g. api simplifies when only one operation etc.)
graffle.js.org
Sending | Graffle
Minimalist Progressively Type Safe GraphQL Client For JavaScript.
110
Jason Kuhrt @kuhrt.me · 25/10/2025
graffle.js.org/guides/docum... - This covers the value-add that generator brings. Until a few weeks ago the generator was needed for any builder but now we have a schemaless mode that is enhanced by generator! Progressive enhancement is a key DX pillar and I think this hits it.
graffle.js.org
Generator | Graffle
Minimalist Progressively Type Safe GraphQL Client For JavaScript.
110
Jason Kuhrt @kuhrt.me · 25/10/2025
graffle.js.org/guides/docum... - This covers the document builder at its base, focusing on its syntax. I use tabs to make it easy to compare to how native GraphQL looks. I'm happy with how well my design has held up to native, often being only mildly more verbose (:true bits are main culprit)
graffle.js.org
Static | Graffle
Minimalist Progressively Type Safe GraphQL Client For JavaScript.
110
Jason Kuhrt @kuhrt.me · 25/10/2025
I've been making big strides with Graffle the past couple weeks, such as around the static builder and support for variables, docs, and type level string parser. Accordingly I revamped docs to cover everything one should need to know about these features. Here's a rundown:
230
Jason Kuhrt @kuhrt.me · 25/10/2025
Recent improvements to github.com/jasonkuhrt/flo: - project selection (default is cwd) - interactive project and issue selection via list - flo start/end aliases for flo/flo rm - polish like flo end cd'ing back to project
github.com
GitHub - jasonkuhrt/flo: GitHub issues → Git worktrees → Claude context. Create worktrees from GitHub issues with automatic Claude setup.
GitHub issues → Git worktrees → Claude context. Create worktrees from GitHub issues with automatic Claude setup. - jasonkuhrt/flo
000
Jason Kuhrt @kuhrt.me · 25/10/2025
A good friend mentioned something similar happening to him in the past and it somehow comforted me to know these things happen not just to me haha. I have been invited to re-record my talk for inclusion to the playlist on Youtube so might do that in the coming month.
000
Jason Kuhrt @kuhrt.me · 25/10/2025
So last month I gave two talks at GraphQL Conf in Amsterdam and it was a lot of fun and challenge for me but unfortunately a glitch means my talk on Polen (polen.js.org) will never see the light of day, though my shorter talk on Graffle (graffle.js.org) will.
100
Jason Kuhrt @kuhrt.me · 19/10/2025
I've seen lots of agentic workflow tools popping up this year. I started my own called flo github.com/jasonkuhrt/flo :) -- Starting simple but will iterate over time. So far combines use of Claude Code, GitHub issues, Git worktrees, and some naming conventions.
000
Jason Kuhrt @kuhrt.me · 15/10/2025
Oh right Void0 has a Bluesky account: thanks @voidzero.dev :)
010
Jason Kuhrt @kuhrt.me · 15/10/2025
I am excited for voidzero.dev/posts/announ... and will begin using it this week on some of my projects (more on that soon). Thanks @vite.dev @vitest.dev etc. and all the peeps involved reaching this point. Every tool in the chain scratches an itch I have.
voidzero.dev
Announcing Vite+
Introducing Vite+, a unified toolchain for JavaScript.
220
Jason Kuhrt @kuhrt.me · 03/10/2025
Today I shipped a static document builder for Graffle, learn more here graffle.js.org/guides/gener... (PR github.com/graffle-js/g...). It unlocks new usage patterns like defining queries outside of a Graffle instance, at module level, totally static, reusable, passable to instance.
000