Jason Kuhrt

Jason Kuhrt

@kuhrt.me

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. πŸ‘¨β€πŸ’» https://github.com/jasonkuhrt

137 followers81 following188 posts

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.chatHeartbeat | Bring your community togetherHost conversations, events, content, and more on your own domain. Heartbeat gives you the building blocks to create a perfectly personalized online community.

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.comfeat(optic): Rewrite optics module per README spec Β· Issue #117 Β· jasonkuhrt/kitRewrite 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 ...

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

Jason Kuhrt reposted

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.comAmpA frontier coding agent engineered to maximize what’s possible with today’s latest modelsβ€”autonomous reasoning, comprehensive code editing, and complex task execution.
View full thread

... 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.

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.comAmpA frontier coding agent engineered to maximize what’s possible with today’s latest modelsβ€”autonomous reasoning, comprehensive code editing, and complex task execution.

... 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 ...

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.comEffect NYC Meetup #1 Β· LumaJoin us for the Effect Meetup in NYC! Who should attend: Engineers building production-grade applications in TypeScript Anyone building or exploring modern,…

... 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.

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, ...

... 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

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.

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 ...

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.

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 ...

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.

TIL! How subtle is that, damn. Seems like a good candidate for a lint rule.

conputer dipshit@davidcrespo.bsky.social

learned something new in #TypeScript today. an arrow function is only analyzed as a never-returning call if it has an explicit annotation on the variable name (distinct from a return type on the arrow function) github.com/microsoft/Ty... github.com/microsoft/Ty...

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:

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:

View full thread

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 🌊.

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:

View full thread

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:

View full thread

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:

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.

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.

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.