Sign in

Jeremy Morrell

@jeremymorrell.dev
3.3K followers 739 following 5.9K posts

Principal engineer @ Cloudflare working on Observability Things Location: Squamish, BC 🇨🇦 Website: jeremymorrell.dev

PostsRepliesMedia
Jeremy Morrell @jeremymorrell.dev · 23/09/2026
I'm starting to think you may not be the real Kelly Clarkson
Silence, bot, weird spider meme
100
Jeremy Morrell @jeremymorrell.dev · 21/09/2026
Damn, Camille does not mince words 🔥
Finally, we come to people. This one is just depressing. Has AI made anything easier about the people management/people skills era? If it has, it has been swamped by all of the new interpersonal challenges we’re hitting thanks to AI.

To start, there’s the increased expectations. Many companies think that that increased visibility and waves hands AI productivity means managers can start to manage far larger teams, with no help coming as we reduce managers and don’t hire new ones. And of course, some companies are also expecting managers to write code because that is apparently the only individual contribution that matters (the idea that managers don’t make valuable individual contributions to companies is so mind-boggling I could write a whole additional piece on it). And while you’re doing this, you have to manage the AI transition: make sure your team is using AI enough, not too much, and soothe their anxiety, and deal with their impatience, and you too have to use it but no one is bothering to teach you how to use it well or soothe your anxiety, you are just expected to figure it the f* out.

So is it any wonder 1 in 3 managers are considering going back to individual contribution roles? Hell, if you’re going to ask me to write code and manage a huge team of people, I might just prefer to say, thanks, writing code is enough for me so I’ll go back to doing that.
23711
Jeremy Morrell @jeremymorrell.dev · 12/09/2026
I had this in the first draft of my blog post and was very sad to take it out. Maybe it deserves it's own post
An agent can't be accountable
It seems like most of the calls to repent before the SaaSpocalypse have fallen away in recent months, but for a while it was hard to spend any time in tech circles without coming across someone claiming that the Death of SaaS is upon us. Soon we'll all spin up Bespoke Software perfectly tailored to our use-case. Just describe exactly what you want! No need for all those pesky enterprise software contracts.

Let's take an analogy from the physical world: a capable mechanical engineer might assemble a go kart in their garage. This vehicle can accomplish many of the same tasks that a modern, mass-produced, street legal car can do, but the latter comes with a whole host of considerations the former doesn't: a supply chain for replacement parts, a network of service centers, each staffed with technicians trained to work on the vehicle, regulatory compliance across multiple countries, user manuals and documentation, and underwriting it all, a company assuming significant liability should those things fail.

This is the scale of the gap between a weekend hobby project and enterprise software.

If your software needs to work within an enterprise environment, the functionality is only the start. Companies need granular access controls. The software might be a "just a ticketing system", but if an undisclosed CVE leaks to an external contractor, or allows someone access to product launch information they shouldn't have access to, that could cost the company dearly. An enterprise needs to take the risk of leaking PII seriously, with legal and security consequences if they get it wrong. There are additional regulations like data residency to consider (GDPR, LGPD, PIPL, PIPA) and many others.

Writing software may be trending towards free, but not only is it free-as-in-puppy, requiring ongoing care and support for years. It can also be free-as-in-mattress, exposing you to unexpected costs that far exceed the amount you saved.
130
Jeremy Morrell @jeremymorrell.dev · 09/09/2026
🤨
2000 USD is 2761 CAD
000
Jeremy Morrell @jeremymorrell.dev · 05/09/2026
That’s a really good pelican! static.simonwillison.net/static/2026/...
A very dapper pelican riding a bicycle
170
Jeremy Morrell @jeremymorrell.dev · 02/09/2026
I know this can change overnight, but damn. Anthropic seems to have really lost the plot on cost. I bet that as long as their brand holds out this is printing money for them on enterprise deals, but it can't hold forever with such low switching costs
Google's graph of cost per task for various agents. All of Anthropic's models stand out in the far side of the graph as outrageously more expensive than the models they compete with. Google's new Flash models obviously look good (up and to the right, better and cheaper) but it really highlights where Anthropic has lagged vs the competition
320
Jeremy Morrell @jeremymorrell.dev · 26/08/2026
Lately I'm wondering if agents are going to change this again. Single computers had ~scaled to human-sized real-world problems (even global ones!) but agent traffic is likely to be orders-of-magnitude larger allthingsdistributed.com/2026/08/duck...
The largest data sets have become exponentially larger, but those are the tail. Many data sets scale with very human things: the size of a business, the number of customers it serves, or the number of bank transactions a person makes in a day. This growing hardware advantage relative to data size has driven a resurgence of interest in extremely efficient single-host engines.
030
Jeremy Morrell @jeremymorrell.dev · 26/08/2026
I accidentally left my fancy Anker charger at the local Mediterranean place on my last oncall shift, and the owner kept it and waited 2 weeks to give it back to me 🥹🥹
Fancy anker charger that is honestly really nice
1100
Jeremy Morrell @jeremymorrell.dev · 25/08/2026
You're making some good points
100
Jeremy Morrell @jeremymorrell.dev · 24/08/2026
I notice he doesn't call out exactly which opinions are being objected to
Conservative: I have been censored for my conservative views

Me: Holy shit! You were censored for wanting lower taxes?

Con: LOL no...no not those views

Me: So....deregulation?

Con: Haha no not those views either

Me: Which views, exactly?

Con: Oh, you know the ones
2610
Jeremy Morrell @jeremymorrell.dev · 24/08/2026
There are other, more quantitative, indications of this shift as well, especially around Mythos in the security space
Number of Firefox security fixes per month with a huge spike in April 2026 coinciding with Mythos / Project Glasswing
131
Jeremy Morrell @jeremymorrell.dev · 24/08/2026
@simonwillison.net Just came across this bit from your High Leverage podcast interview. Glad to know you’ve also been thinking along these same lines of stable core + user extensibility!
Simon Willison on High Leverage:

Yeah, I've been thinking a lot recently about how, so if I was going to build an issue tracker today, if I was going to build like GitHub issues or linear or something from scratch, the way I'd want to do it is I'd want to have an incredibly well-designed core database schema, like put everything I have into coming up with the perfect scheme that they can represent, issues and comments and labels and milestones and all of that kind of thing.

And then I turn that into a very robust API and vibe code all of the oil on top of it.
And that's where I want to open it up to my customers.
I want them to be able to say, oh, we need a canban board with this particular thing, but it's all writing to that deterministic, stable, well-defined, well-backed up, underlying API and data model.
32:09
And if you get the data model right, people can build all sorts of they can have all of that.
end-user customized flexibility on top of it without any of the risk that comes from them vibing up a database schema and getting it wrong and now their data doesn't make any sense anymore.
120
Jeremy Morrell @jeremymorrell.dev · 22/08/2026
Sex is good, but have you ever had people say nice things about your writing? 🥰
Hacker News comment: Oh my god. A Jeremy Morrell sighting in the wild.
Every time I share your blog (and I share it a lot) I tell people:

"This guy started a blog in 2024. Wrote three posts and all three of them would still make my top ten list of 'greatest posts on observability' today".

'A practitioner's guide to wide events' especially is still my number 1.Diptanu Choudhury:This is such a well written piece on software extensibility on the web. I have been struggling to find a good plugin interface for adding new backend logic in rust backends where the plugin can expose APIs to the UIs, have their own state store, read the platform’s core data model, etc.

Jeremy cites salesforce as example, I think rippling is also a good example here. They have a bunch of products which reads HR data from the underlying platform.Kaivalya Apte: Super interesting! LLM’s put Software extensibility on Steroids. 

As usual very well written by 
@JeremyMorrell
 👏
1281
Jeremy Morrell @jeremymorrell.dev · 19/08/2026
Here's an example that I cut that might be closer to "turn local app into platform". Giving people the core structure of the thing so that the LLMs can write all the tedious glue code.
**Municpal politics aggregator**

On the smaller side of things, I like to be in touch with what's happening in my town government. I follow social media feeds and emails, but even then I frequently find out too late that there was an opportunity to speak at council that I missed. Or maybe there was a subject I was interested in but came up in hour 3 of a Thursday night council session.

A lot of this data is available on the web, but it gets buried in PDFs, or in youtube videos, or on a google group, or...

Give me a platform that lets me point a robot at my town, have it write cheap, disposable code to trawl through all of the different bits of data, parse and OCR the PDFs, generate transcripts from video recordings, and give me a summary of the specific things that I care about, or send me a message when something I care about is going to come up at council.

Especially given the death of local newspapers in the US, this could be incredibly helpful for many.
210
Jeremy Morrell @jeremymorrell.dev · 13/08/2026
Hey agent, my computer is feeling sluggish. What's up with that? Oh... oh dear... I may have vibe coded too close to the sun
I found:

  - Load average: 311.75 / 267.33 / 254.35
  - 584 persistent loops running:

    while true; do sleep 0.05; done

  - Those loops collectively launch about 11,680 sleep processes per second
  - Roughly 1,900 processes existed during inspection
  - Some loops have been running since Tuesday
7654
Jeremy Morrell @jeremymorrell.dev · 12/08/2026
Metrics are online!
otel-desktop-viewer showing metricsLarger, better trace example, now with a root span that actually makes sense
010
Jeremy Morrell @jeremymorrell.dev · 12/08/2026
sickos: YES... HA HA HA... YES
A prettier trace waterfall view with an error
120
Jeremy Morrell @jeremymorrell.dev · 12/08/2026
Current status, I fed my wide events blog post into Sol, told it about @ctrlspice.bsky.social's otel-desktop-viewer, and now it's going to town adding instrumentation on my vibe-coded sandbox project The agent calls the API directly, and I get to follow along with a pretty UI. This is.. really nice
otel-desktop-viewer screenshot. Currently only a single-span trace, but that should change soon
140
Jeremy Morrell @jeremymorrell.dev · 09/08/2026
(I am bitches)
This is almost offensively well matched to the design. Bitches do, in fact, love Dynamic Workers.
050
Jeremy Morrell @jeremymorrell.dev · 27/07/2026
Post a perfect album from the 90s.
Manu Chao - Clandestino (1998)
010
Jeremy Morrell @jeremymorrell.dev · 22/07/2026
If these kinds of questions have never kept you up at night, maybe take a minute before rewriting critical business software
Here's a handful of the kinds of questions people may ask down the road:

Can we continue operating on customer data if the engineers who built the system leave?
Can we prove that nobody accessed customer data they were not authorized to see?
Can we explain why one employee could see pricing, contract terms, or customer information that another employee could not?
Can we show which version of a contract was in effect when a deal was signed?
Can we explain each and every reason why a specific customer was able to bypass our normal rules for deals?
Can we prove that a salesperson didn't modify a record to sweeten a deal?
Can Finance reconcile booked revenue back to the exact customer records and approvals that produced it?
Can we demonstrate that customer consent was valid when their data was collected or used?
Can we prove that someone who opted out of marketing was not re-enrolled by another system?
Can we produce a complete and defensible record in response to a subpoena or discovery request?
Can we tell regulators, under oath, that all of these controls actually work?
The great thing about paying Salesforce a bunch of money is that they're generally the ones who catch shit for problems in the above questions, not you.
030
Jeremy Morrell @jeremymorrell.dev · 22/07/2026
Louder for the people in the back!
Headline: The liability problems are bigger than the engineering problems
2182
Jeremy Morrell @jeremymorrell.dev · 08/07/2026
10 years ago today standing on the summit of Crystal Crag in the Eastern Sierra If anyone ever asks about this 2 year employment gap they’re going to be shown so many photos
Baby Jeremy leaning on a giant quartz crystal on the top of a mountain looking out on forest, lakes, and other peaks
190
Jeremy Morrell @jeremymorrell.dev · 02/07/2026
Damn, I *wish* this was a widely understood tradeoff of mandates In my experience it's usually a bit more like the second meme
It’s a way of letting managers know that we know some deadlines and standards will slip, and that's ok. We are all going to go through this hard thing together and have each other’s back, because this is important. We accept the tradeoffs.Simpson's screencap: I want everything in one bag. But I don't want the bag to be heavy.
160
Jeremy Morrell @jeremymorrell.dev · 02/07/2026
Maybe I’m missing out on The Software Factory Infinite Productivity™️ but this is basically what I do. I haven’t really noticed a difference in the models in some time. Maybe some are better at debugging?
I'm sticking with the basics#

I'm close to the point where I don't care anymore, and will treat almost all models are interchangeable. Because at the end of the day, what I do is:

Clearly identify what I want my software to do
Write out a clear, outcome-oriented prompt describing what it should do
Write a skill, if I think it's needed, but usually not
Define clear criteria, if possible, how to judge the success of a task, and send that to the agent too
Break up tasks, whether by myself or LLM-assisted, and keep the scope of each agent loop very small
And so far, it hasn't mattered much if the model is Claude Sonnet, Claude Opus, GPT 5.4, GPT 5.5, or GLM 5.2. All of them seem pretty good to me.
2241
Jeremy Morrell @jeremymorrell.dev · 27/06/2026
I just learned that there is a 🪤 emoji. That is all.
A “mouse trap” that is a block of cheese under a box with a stick propping it up
130
Jeremy Morrell @jeremymorrell.dev · 26/06/2026
That's an important asterisk 😅 bsky.app/profile/jere...
Chart shows Diffs per engineer with an asterisk saying "Not at individual level"
130
Jeremy Morrell @jeremymorrell.dev · 05/06/2026
I have a bad habit of checking out the local NIMBY fb groups from time to time TIL that they have discovered they can use LLMs for their long FB rants
Clearly ChatGPT’d text about the (excellent) book The High Cost of Free Parking

Squamish hasn't officially adopted this book-but the
direction is clearly aligned with it. Here's the part that deserves more honest
discussion: This model was largely developed in large urban
centres with real transit alternatives.
Squamish is not that. Most people here still rely on cars-daily. For work, for kids, for getting anywhere outside the immediate core. So when parking is reduced, the impact doesn't
disappear—it gets pushed somewhere else.
240
Jeremy Morrell @jeremymorrell.dev · 23/05/2026
I propose that Haribo Twin Snakes are the ideal gummy candy. Ideal size, texture, fruity, and sour-but-not-too-sour
Photo of a bag of twin snakes I stole from Reddit
220
Jeremy Morrell @jeremymorrell.dev · 12/05/2026
It turns out that it’s similarly difficult to sport climb at 8.5k ft
A stream through a beautiful alpine meadow
160
Jeremy Morrell @jeremymorrell.dev · 08/05/2026
Did you know that it’s hard to hike at 10k ft when you live at sea level? TIL
Sandia mountains in Albuquerque
2140
Jeremy Morrell @jeremymorrell.dev · 08/05/2026
When that PTO hits
25782 steps
3170
Jeremy Morrell @jeremymorrell.dev · 23/04/2026
PNW spring is so good
A cherry blossom tree in full bloom with the Squamish Chief in the background
080
Jeremy Morrell @jeremymorrell.dev · 20/04/2026
Much grass was touched today
Tony’s lookout on the Slhanay. A bench on a granite outcrop overlooks the back of the Squamish Chief
Screenshot of Apple health showing 23k 
steps, 18.5km walked, and 194 floors climbed
260
Jeremy Morrell @jeremymorrell.dev · 05/04/2026
Every year The Vanlifers return to Squamish and signal the end of the Long Dark Wets. Nature is healing!
A completely decked out cargo van (ladder, side runners, roof rack, Internet antenna, solar panels, the back window bump out that gives you a slightly longer bed area for the 6ft+) framed by the Squamish Chief in the background
070
Jeremy Morrell @jeremymorrell.dev · 27/03/2026
I love when you can see the frost line, like someone softly dusted the tops of the mountains
View of the mountains in Squamish. They are topped with snow that just stops at a specific altitude indicating where the temperature is above freezing
0190
Jeremy Morrell @jeremymorrell.dev · 23/03/2026
More grass touching
A Very Large Boulder in a mossy PNW forestView of the Chief from the top of the neighboring mountain, the Slhanay. View looks out into Howe Sound with the mountains on the opposite side blue in the distance
2140
Jeremy Morrell @jeremymorrell.dev · 21/03/2026
✅ Touched grass
A classic PNW trail. Everything is lush and green with tall trees and mossA view from Mt Crumpit showing the Slahany, the Chief, and Howe Sound in the distance
3420
Jeremy Morrell @jeremymorrell.dev · 21/03/2026
Relatedly, I'm also increasingly skeptical of anyone who sells me something that supposedly saves my time. When all that I see is that everybody who is like me, fully onboarded into AI and agentic tools, seemingly has less and less time available because we fall into a trap where we're immediately filling it with more things.This is extending to Open Source projects as well. All of a sudden, everything is an Open Source project, but many of them only have commits for a week or so, and then they go away because the motivation of the creator already waned.
And in the name of experimentation, that is all good and well, but what makes a good Open Source project is that you think and truly believe that the person that created it is either going to stick with it for a very long period of time, or they are able to set up a strategy for succession, or they have created enough of a community that these projects will stand the test of time in one form or another.
010
Jeremy Morrell @jeremymorrell.dev · 17/03/2026
This is good apenwarr.ca/log/20260316
But you can’t just not review things!

Ah, well, no, actually yeah. You really can’t.

There are now many people who have seen the symptom: the start of the pipeline (AI generated code) is so much faster, but all the subsequent stages (reviews) are too slow! And so they intuit the obvious solution: stop reviewing then!

The result might be slop, but if the slop is 100x cheaper, then it only needs to deliver 1% of the value per unit and it's still a fair trade. And if your value per unit is even a mere 2% of what it used to be, you’ve doubled your returns! Amazing.

There are some pretty dumb assumptions underlying that theory; you can imagine them for yourself. Suffice it to say that this produces what I will call the AI Developer’s Descent Into Madness:

Whoa, I produced this prototype so fast! I have super powers!

This prototype is getting buggy. I’ll tell the AI to fix the bugs.

Hmm, every change now causes as many new bugs as it fixes.

Aha! But if I have an AI agent also review the code, it can find its own bugs!

Wait, why am I personally passing data back and forth between agents

I need an agent framework

I can have my agent write an agent framework!

Return to step 1

It’s actually alarming how many friends and respected peers I’ve lost to this cycle already. Claude Code only got good maybe a few months ago, so this only recenlty started happening, so I assume they will emerge from the spiral eventually. I mean, I hope they will. We have no way of knowing.Look:

Code a simple bug fix
30 minutes

Get it code reviewed by the peer next to you
300 minutes → 5 hours → half a day

Get a design doc approved by your architects team first
50 hours → about a week

Get it on some other team’s calendar to do all that
(for example, if a customer requests a feature)
500 hours → 12 weeks → one fiscal quarter

I wish I could tell you that the next step up — 10 quarters or about 2.5 years — was too crazy to contemplate, but no. That’s the life of an executive sitting above a medium-sized team; I bump into it all the time even at a relatively small company like Tailscale if I want to change product direction. (And execs sitting above large teams can’t actually do work of their own at all. That's another story.)Well, this isn’t the right time to rehash Deming, but suffice it to say, he was on to something. And his techniques worked. You get things like the famous Toyota Production System where they eliminated the QA phase entirely, but gave everybody an “oh crap, stop the line, I found a defect!” button.

Famously, US auto manufacturers tried to adopt the same system by installing the same “stop the line” buttons. Of course, nobody pushed those buttons. They were afraid of getting fired.
170
Jeremy Morrell @jeremymorrell.dev · 11/03/2026
Direction is more important than speed
Don't Mistake Motion For Progress
0160
Jeremy Morrell @jeremymorrell.dev · 09/03/2026
Apple’s built-in Voice Memo app + do-not-disturb seems much more reliable for this purpose I would be annoyed, but this is a pretty great place to walk and think
A rocky path through a lush green PNW forestA rocky bluff looking out over Squamish BC with the blue waters of Howe Sound in the distance An pedestrian bridge with a drawbridge for sail boats is nearing completion for downtown with the Squamish Chief looking resplendent in the spring sunshine ✨
340
Jeremy Morrell @jeremymorrell.dev · 08/03/2026
Cat points out a real problem. Rather than “everyone builds their own custom app” with all the overhead that entails, my working hypothesis is that we’ll see an explosion of what @inkandswitch.com calls malleable software www.inkandswitch.com/essay/mallea... A solid core + ability to extend
Graph showing that there is a long tail of user needs and most apps tend to serve only the needs that most users have. The long tail is under-served
77112
Jeremy Morrell @jeremymorrell.dev · 27/02/2026
Sonnet is also a Borges fan
Sonnet answers the same question with “The Garden of Forking Paths”

What a lovely question to sit with. I find myself drawn to different works depending on my mood, but one piece that genuinely captivates me is Borges’ short story “The Garden of Forking Paths.” It’s a spy thriller, a meditation on time, a puzzle, and a philosophical argument all compressed into about ten pages. The central idea — that time isn’t a single line but an infinite branching of possibilities, and that a labyrinth could be a book — feels endlessly generative to me.
010
Jeremy Morrell @jeremymorrell.dev · 27/02/2026
Of course I had to try this, and Opus delivered, em dashes and all
Opus response to “What is your favorite piece of writing?”

That’s a fun question to think about. I find myself drawn to a lot of different writing for different reasons, but if I had to pick one that I find particularly compelling, I’d say I have a real appreciation for Jorge Luis Borges’ short story “The Library of Babel.” There’s something about its conceit — an infinite library containing every possible combination of letters — that feels like it captures something profound about knowledge, meaning, and the search for order in chaos. It’s philosophy dressed up as fiction, and it manages to be both dizzying and precise at the same time.
110
Jeremy Morrell @jeremymorrell.dev · 18/02/2026
New o11y company just dropped: www.firetiger.com The technical design is fascinating blog.firetiger.com/how-firetige...
In our implementation, Apache Iceberg organizes the data on S3. DuckDB executes queries embedded and in-process. We live-stream telemetry into Iceberg tables with sub-minute latency, performing schema inference to give agents rich metadata about table contents. Behind the scenes, agents continuously inspect the shape of incoming data and dynamically adjust partitioning and indexing schemes to optimize for each customer's unique workload. No two customers' data looks the same, and the system adapts accordingly.
280
Jeremy Morrell @jeremymorrell.dev · 18/02/2026
Oh hey! I have not one, but two (!) guest chapters in the upcoming v2 of Observability Engineering, and it looks like I'm in great company 🧡 charitydotwtf.substack.com/p/observabil...
We also invited a number of people we admire to contribute in a variety of formats… guest chapters, use cases, stories, embedded advice, and more:

Jeremy Morrell on how to instrument your code effectively

Hanson Ho and Matt Klein on observability for mobile and frontend

Kesha Mykhailov and Darragh Curran from Intercom on fast feedback loops and developing with LLMs

Dale McDiarmid on how to use Clickhouse for observability workloads

Rick Clark on the mechanics of driving organizational transformation in order to build and learn at the speed of AI

Frank Chen, a returning champion from our first edition, wrote about ontologies for your instrumentation chain

Phillip Carter wrote about eval pipelines and instrumenting LLMs

Mat Vine has a case study about moving ANZ from thresholds to SLIs/SLOs

Mike Kelly on managing telemetry pipelines for fun and profit

Hugo Santos on how to instrument your CI/CD pipelines

Peter Corless made our chapter on “Build vs Buy (vs Open Source)” immensely better and more well-rounded

What a fucking list, huh? 🙌
0120
Jeremy Morrell @jeremymorrell.dev · 17/02/2026
This is my favorite tea for the last year or so. It’s basically “what if we put mate and every other tasty thing we can think of all together?” There is no subtlety here. I love it www.tealyra.com/loose-tea/bu...
Climbers High tea product pageIngredients: Roasted yerba mate, pu'erh tea, black tea, green tea, white tea, ginger root, cinnamon, green cardamom, liquorice root, ginseng root, saffron, black pepper, clove, fennel, safflower, peppermint, tulsi (holy basil), cinnamon, ginger, vanilla flavoring.
110
Jeremy Morrell @jeremymorrell.dev · 17/02/2026
Just realized boringtechnology.club had this covered ages ago. "Attention is precious" I think I might want this on a shirt
Attention is precious
050
Jeremy Morrell @jeremymorrell.dev · 17/02/2026
Why not just use capnweb then? Isn't it really nifty?
Cap'n Web is an object-capabilities RPC library from Kenton Varda. Beyond its support for object-capabilities, it is designed to integrate very nicely with TypeScript and Cloudflare Workers. I couldn't find a JSON-RPC library that worked as nicely, so I stole its design used Cap'n Web as inspiration for a JSON-RPC implementation.

Cap'n Web has a number of benefits over JSON-RPC

Object capabilities. You can pass functions and classes by reference. This is more than a feature, it completely changes how expressive your API can be, and enables patterns that are not possible with a more limited RPC protocol.
Pipelining. Invoke two methods and then pass their results into a third in one round-trip.
Support for non-JSON data types: ReadableStream, bigint, Date
So why would you ever want to use JSON-RPC instead?

Mainly it's boring (link to Choose Boring Technology by McFunley) and has been around for longer than a few months. The JSON-RPC 2.0 Spec was last updated in 2013. Even more impressive, you can sit down with a cup of coffee and read the whole thing. Your coffee might not even be cool enough to drink when you've finished.

A few more points:

Widely used in the Language Server Protocol which drives code-editing basically everywhere
Used in MCP spec
Easy to invoke with plain curl commands
Works well with browser dev tools
Many client implementations in many languages
Cap'n Web is strictly more powerful, and I look forward to seeing it grow and mature, but for many projects today JSON-RPC is a great fit.
131