# ⚡ Inside GitHub’s AI Revolution: Jared Palmer Reveals Agent HQ & The Future of Coding Agents

Latent Space · 2025-11-10

<https://addtry.com/2428ccf7-8315-4289-aad9-744fafd9ea78>

Jared Palmer, SVP at GitHub and VP at CoreAI at Microsoft, traces his journey from building v0 at Vercel—a focused Next.js coding agent that grew from $1M ARR to millions more after adding chat—to launching Agent HQ at GitHub Universe, a collaboration hub for developers and coding agents. He explains how v0's success came from laser-focus on one stack and framework, and how GitHub's 180M developers enable scaling agent-based workflows. Palmer discusses model strategy tradeoffs (composite vs. branded models), the challenge of repo setup and infrastructure reliability, and using coding agents for non-coding tasks like automating Excel workflows. He reveals Stacked Diffs as GitHub's top feature request, with active exploration after previous attempts, and outlines his vision for seamless AI integration across GitHub, VS Code, and Actions, including features like resolving merge conflicts with AI.

## Questions this episode answers

### What is Agent HQ and what does it aim to become?

Jared Palmer, SVP at GitHub and VP of CoreAI at Microsoft, explains that Agent HQ, launched at GitHub Universe, is a collaboration hub designed to be the home for both coding agents and developers. It integrates GitHub’s own Copilot with third‑party agents like Claude Code, Codex, and Cognition, and Palmer envisions deeper AI workflow integrations—such as one‑click opening of pull requests in VS Code—to make the development experience seamless across tools and devices.

[1:09](https://addtry.com/2428ccf7-8315-4289-aad9-744fafd9ea78?t=69000)

### How did v0, Vercel's AI coding agent, start and grow?

Jared Palmer recounts that v0 originated from his work on an AI playground after ChatGPT’s release, which led to the AI SDK. The “prompt to UI” idea took shape, launching in September 2023 as a “Midjourney for React.” It took nine months to reach $1M ARR, but after rebasing on chat‑based models, revenue rocketed: another $1M MRR in two weeks, then a second $1M MRR in the following two weeks, turning v0 into a breakout success.

[3:16](https://addtry.com/2428ccf7-8315-4289-aad9-744fafd9ea78?t=196000)

### What are stacked diffs and why are they a top GitHub feature request?

Stacked diffs are a code‑review workflow where each pull request holds a single commit that can be branched and restacked, popularized by Facebook. Jared Palmer notes it allows fluid reordering and merging, especially in monorepos, and has been GitHub’s top community feature request for years. Internal attempts date back to 2020; Palmer says they are now actively working to weave it into GitHub’s roadmap, acknowledging past efforts were deemed too risky.

[30:21](https://addtry.com/2428ccf7-8315-4289-aad9-744fafd9ea78?t=1821000)

## Key moments

- **[0:00] Intro**
- **[1:00] Agent HQ Vision**
- **[2:52] V0 Origins**
  - [2:52] Jared Palmer recounts how a DM from Guillermo at a bachelor party led to building Vercel's AI Playground.
  - [5:40] Collaborating with ShadCN on an open-source ChatGPT clone set Vercel up for rapid AI experimentation.
  - [7:02] v0's core idea: a prompt-to-UI agent that pipes code interpretation to UI rendering, conceived before tool calls existed.
  - [9:18] v0 reached $1M ARR in nine months, then switched to chat models and added $1M MRR every two weeks.
  - [11:05] Q: Did Vercel debate using a composite model vs letting users choose? A: They launched composite models first, then added a model selector, balancing performance and co-marketing.
- **[11:13] Model Strategy**
  - [13:13] GitHub's Agent HQ will offer model choice through Copilot and third-party agents like Claude Code and Cognition.
- **[13:18] GitHub Approach**
  - [13:59] In agent world, models must be tightly coupled with the agent, not abstracted away, to avoid lowest common denominator.
  - [14:15] Jared Palmer defines a coding agent as a loop with compute runtime, files, and tool calls, beyond a simple API request loop.
- **[16:25] CoreAI Integration**
  - [16:40] Microsoft's CoreAI org combines Visual Studio, VS Code, GitHub, and parts of Azure to foster seamless developer workflows.
  - [17:38] Jared Palmer envisions AI agents resolving merge conflicts and fixing GitHub Action errors seamlessly.
  - [18:37] Dev Containers could become the standard for AI coding agent sandboxes due to built-in VS Code, security, and GitHub Enterprise integration.
- **[18:44] Dev Containers**
  - [20:05] Repo setup is the number one pain point for coding agents; auto-detection and preemption remain unsolved.
  - [21:46] MCP protocol is huge for enterprise agent context; GitHub's custom agents with MCPs will be powerful.
- **[24:06] Agent Quality**
  - [24:10] Jared Palmer: 'Going from 90% to 99% success rate for coding agents is really hard, and many products are in la-la land about quality.'
  - [25:04] AI products must monitor error-free sessions and infra provider reliability; agents require multiple provider fallbacks.
- **[26:57] Non-Coding Agents**
  - [26:57] Jared Palmer uses coding agents for non-coding tasks like automating his dad's accounting spreadsheets, finding them better than chat clients.
- **[29:18] Homepage Redesign**
  - [29:18] GitHub's new homepage redesign addresses community feedback, adding tasks and recent PRs to the top.
- **[30:21] Stacked Diffs**
  - [30:27] Stacked Diffs, the top GitHub feature request, allow branchable commits and automatic restacking for better monorepo workflows.
- **[35:09] Outro**

## Speakers

- **Jared Palmer** (guest)

## Topics

Agent Platforms

## Mentioned

Cognition (company), GitHub (company), Vercel (company), AI SDK (product), Agent HQ (product), Bolt (product), ChatGPT (product), Claude Code (product), Codex (product), Copilot (product), Dev Containers (product), GPT-4 (product), Graphite (product), Lovable (product), Next.js (product), OpenRouter (product), ShadCN (product), VS Code (product), nat.dev (product), v0 (product)

## Transcript

### Intro

**Host** [0:04]
All right, we are here for a very special edition of Lane Space with my buddy, Jared Palmer, uh, SVP at GitHub and VP at CoreAI at Microsoft.

**Jared Palmer** [0:13]
That's correct. Dual title.

**Host** [0:14]
Yeah.

**Jared Palmer** [0:15]
Twice the fun.

**Host** [0:15]
Is it weird to have two jobs?

**Jared Palmer** [0:17]
No. I'm only on-- I'm only... The full disclaimer, I'm only on day 13, I think.

**Host** [0:23]
Yeah.

**Jared Palmer** [0:23]
So early days, so, so far, so good.

**Host** [0:26]
So far, so good. Uh, we've been trying to get you on the podcast for two years, I think.

**Jared Palmer** [0:29]
I think so, yeah.

**Host** [0:30]
You-

**Jared Palmer** [0:30]
We finally went for it.

**Host** [0:31]
Yeah. You're a busy guy.

**Jared Palmer** [0:32]
We like to do it in person, so...

**Host** [0:34]
Yeah, we have to do it in person. Yeah, exactly.

**Jared Palmer** [0:35]
Yeah, it's way better.

**Host** [0:36]
Uh, I should also plug that you have-- if, if Jared Palmer fans should dig into your previous podcasts with Ken Rivera.

**Jared Palmer** [0:43]
How about that?

**Host** [0:43]
It's from, from the interim. Okay. Uh, so, um, but-

**Jared Palmer** [0:47]
But shout out to Ken.

**Host** [0:48]
Shout out to Ken. Uh, before that, you were building, um, I, I guess, like, v0 and AI SDK, and you were just sort of VP of AI at-

**Jared Palmer** [0:56]
At Vercel, yeah.

**Host** [0:57]
Vercel.

**Jared Palmer** [0:57]
Yes, all, uh, AI initiatives and vibes.

### Agent HQ Vision

**Host** [1:00]
Yeah. And I feel like basically you went from, like, you sort of building one coding agent to now being the home for all coding agents.

**Jared Palmer** [1:06]
Mm-hmm.

**Host** [1:07]
Is that, is that, like, the, the general vibe of Agent HQ?

**Jared Palmer** [1:09]
I, I think that's right, yeah. So backing up, um, I spent the last sort of two years or so building v0 at Vercel and AI SDK. Uh, and then this summer took time off and now joined GitHub, and today we launched Agent HQ, among other things here at Universe.

And, uh, yeah, it's gonna be the home, we hope, of not only agents, but also developers, and it seems like, uh, the gravity well of this new collaboration space that we're trying to build.

**Host** [1:36]
Yeah. What do you think, like, basically that GitHub can do that you couldn't do at v0?

**Jared Palmer** [1:42]
GitHub is an enormous platform, right? So these are-

**Host** [1:44]
Hundred and eighty-three million, it's some amount of-

**Jared Palmer** [1:46]
Yeah, it's hundred and eighty million developers.

**Host** [1:48]
Pretty-

**Jared Palmer** [1:48]
Um, it's just the scale is immense, right? Um, and v0 was focused on not only one language, but one framework.

**Host** [1:55]
Right.

**Jared Palmer** [1:56]
And a specific problem space with a built-in renderer and, you know, um, you know, for those who are n- not aware of v0, it's, it's like a bolt or lovable, but it's built by Vercel, and, uh, it's focused on building Next.js apps, specifically Next.js apps.

That constraint was rather liberating for the team at the time, and it lets us really, like, laser focus.

**Host** [2:17]
It does. That's your world, edit.

**Jared Palmer** [2:18]
I hope... Thank you. I hope so. Um, and obviously, at GitHub, you know, we're the home of all languages and, you know, and, and frameworks and, and developers. And so the scope is broadened, and yeah, it's just, it's just a different, a different part of the map, if you will, right?

**Host** [2:34]
Yeah. How I've seen it-- So you, you've been basically covering the entire journey of coding agents-

**Jared Palmer** [2:38]
Yeah

**Host** [2:39]
... for, you know, from, from the start. Like, what do you think-- Uh, what's your jour- personal journey through coding agents, right? Like-

**Jared Palmer** [2:44]
Sure

**Host** [2:44]
... is- We started out with Copilot, obviously GitHub-

**Jared Palmer** [2:47]
Sure

**Host** [2:47]
... started the Copilot trend.

**Jared Palmer** [2:48]
Sure, sure.

**Host** [2:48]
Uh, when... Tell us about the origin story of v0-

**Jared Palmer** [2:52]
Yeah

### V0 Origins

**Host** [2:52]
... and then how that develops and, and maybe where, where, like, what you wanna see next with-

**Jared Palmer** [2:57]
So-

**Host** [2:58]
... history.

**Jared Palmer** [2:58]
It's, it's funny you ask that. As I've told this story multiple times, I feel like I've unlocked different parts of it in my brain-

**Host** [3:05]
Yeah

**Jared Palmer** [3:05]
... by going back. You know, like, so maybe we'll have to figure out how retrieval memory works.

**Host** [3:09]
Which is, by the way, interesting how memory works for agents.

**Jared Palmer** [3:11]
Totally. That's why I brought it up.

**Host** [3:12]
Like, this is wild.

**Jared Palmer** [3:12]
It's, like, kind of amazing as you-

**Host** [3:14]
Yeah

**Jared Palmer** [3:14]
... sometimes you discover new paths, right?

**Host** [3:16]
Yeah.

**Jared Palmer** [3:16]
Anyway, um, the story goes like this. So when, um, ChatGPT first came out, obviously it was incredible, right? Like, world-changing immediately, fastest growing product ever. I looked back at, like, the timeline and dates, and, um, we were very early, like, in, uh, when I was at Vercel, uh, jumping into AI stuff.

But the journey kinda went like this. So at the time, actually, there was no AI division. There was no AI group. I was actually the director of engineering for all of Vercel Frameworks, and I was helping Next.js svelte, uh, svelte, right.

Yeah, so Next.js svelte, uh, TurboRepo, TurboPack, Webpack, and all internal dev tools at Vercel. And I was helping the Next.js team dog food, um, and test the initial implementation of server actions. And instead of building a to-do app, Guillermo, the CEO of Vercel, was like, "Why don't you build, like, a playground?"

And I was like, "Okay, cool." So that led to the AI playground, which is now just part of AI SDK. We'll get there in a second.

**Host** [4:13]
Which, by the way, iconic for, like, side by side, but also the-

**Jared Palmer** [4:16]
Right, so nat.dev

**Host** [4:18]
... main scene is nat.dev.

**Jared Palmer** [4:19]
Is nat.dev. So, so G-G told me the nat day of... I got a, I got a DM. It was like-- I remember 'cause I was at a bachelor party, and Guillermo, totally online, sends me a note like, "nat.dev is launching on Monday.

You have to ship." And I had been working on it previously, and so it was like-

**Host** [4:32]
So it was the same idea.

**Jared Palmer** [4:32]
It w- Yeah, so he got wind of it, I guess. Uh-

**Host** [4:34]
Oh, interesting

**Jared Palmer** [4:35]
... so I, I definitely had to, like, jump into motion. And I didn't think we-- we didn't even ship chat first. Guillermo sends me this, this, uh, DM over the weekend. I'm at a bachelor party, and he's like, "nat.dev," this, the side by side.

He sends me the link, and I play with it, and I'm like, "Cha." Okay, so I spring into gear, ship, um, the AI playground. What was cool about the AI playground was it, it, it forced me to go through every single model provider's API docs and figure out their s- their quirks of their nuanced streaming, 'cause at the time it wasn't like everybody used OpenAI.

**Host** [5:02]
Yeah.

**Jared Palmer** [5:02]
It was like all little quirks. Some of them kinda were compatible. So that was my first foray into it. And then launched AI Playground. That shot to the top of Hacker News. And I remember we didn't-- I didn't even implement chat, 'cause that chat wasn't actually, like, a fa- like, wasn't as important.

It was just, like, completion solutions. So eventually we, we factored chat, and that, that project, uh, out of that came AI SDK, because I had already looked at all the model providers and all the, um, the combinations. It was like, "Okay, here's that chunk of streaming code you need."

And then AI SDK found that sort of niche of, like, how do we focus on the part that we're gonna be good at, which is, like, that UI aspect of it, but then also not get in your way.

So that, we shipped AI Playground, then AI SDK launched. And then, um, you know, we're always about, um, demos and having great starter templates at Vercel, and I ha- a- and I remember writing Guillermo. I was like, "You know what'd be cool?

This guy, ShadCN. Oh, man, he seems, like, amazing, and his UI library is doing great. Why don't we team up and ship a ChatGPT clone open source?" And we did. We shipped this, this, this awesome template, which is now called Chat SDK, but it's great.

And- Uh, what that did though at Vercel was it, um, set us up for like rapid experimentation because we had this really good, like pretty full featured ChatGPT ready to rock with all the latest features.

**Host** [6:23]
Yeah.

**Jared Palmer** [6:23]
So when it came to like rapid prototyping that summer, now we're summer '23, it was so great. It was, it was like liberating. So I remember at that point I had gained some momentum internally and pivoted almost entirely to AI.

Um, and I had Shu Ding, uh, who you've, you're friends with, um, and Max Lighter and, uh, Shad CN now were cooking. And I think at that point, code execution had just come out. I think that's my timeline here.

**Host** [6:50]
Yeah, they're called sandbox, uh, interpreter.

**Jared Palmer** [6:52]
Inter- code interpreter, that's what they called it at the time. And I had a very-- As soon as I saw this, I had a very ambitious idea and proposal to present to Guillermo, which was like, what if there was some...

And mind you, tool calls don't exist. The context window is four thousand-

**Host** [7:06]
Wow

**Jared Palmer** [7:06]
... tokens.

**Host** [7:06]
Yeah.

**Jared Palmer** [7:07]
So like there's not much here. Um, what if we had this thing where like you could prompt and sometimes it would do code interpretation, and then maybe we could sort of, sometimes we would do code interpretation, but then other times it would choose to render like UI or then it would render sometimes like a document or-

**Host** [7:25]
Or some line in the chat.

**Jared Palmer** [7:26]
Yeah. And like it would just have different sort of render modes.

**Host** [7:29]
Generative UI.

**Jared Palmer** [7:29]
Yeah. Maybe you could pipe them together. So like the output of one could pipe into... So if we did code interpretation, we coerced it to always emit, uh, like tabular data.

**Host** [7:39]
Yeah.

**Jared Palmer** [7:39]
Maybe we could pass that to another prompt that was like a UI and just like some idea there. It's kind of crazy. But if it sounds like these are just tool calls, that's exa- that's exactly what these are.

**Host** [7:48]
Exactly what it was. Yeah.

**Jared Palmer** [7:48]
Um, so it became pretty obvious that like the... So I came to Guillermo and we, at the time, we just had a sec-secure-- we had a sort of security debate like should we code interpretation with the ability to fetch data, um, like giving it internet access was like kind of...

Now they're like, "Fine, whatever, whatever. Do whatever you want. Wild, wild west." But at the time, it was like a little scary. So we kind of said, "Okay, no to the code interpretation, but this UI thing, it's pretty neat."

And so that, this like prompt to UI, that was like the aha moment of v0, but the models were not very good, right? So or relative to the way they are now.

**Host** [8:25]
And it was, uh, for GPT 4 era?

**Jared Palmer** [8:28]
This is just into the GPT 4 era, and now we're probably at a, uh, sixteen thousand token context window. So you can't really do chat. So we had to kind of invent this kinda new paradigm of like fake it with completion, but that forced us to do sort of the click the...

Well, we-- The, the initial v0, which launched I think in September '23, um, it would look more Midjourney. In fact, if you look like the original suite, it was like Midjourney for React because it was all very visual and you could click on different, uh, components and elements and re-prompt.

But it was again, we were, we were kind of hacking this because we didn't have chat and we didn't have tool calls. Um, and then fast-forward again, um, you know, that launches and then probably like nine months later, um, it took us like nine months to, uh, uh, get to like a million ARR, uh, this little team.

But then the models progressed and from, you know, GPT 4, GPT 4 32K, big, big, big boy. We never really got GPT 4 Turbo working. I don't know why. Just never happened. And then switched to oth-other frontier models and, and then started doing our own models and stuff like that.

Uh, but fast-forward another ten months or nine months or so, and then we, we rebased towards chat, and now the models finally could do chat. Um, and the artifact pattern had evolved, so it was time to rewrite. When we launched v0, the chat version or the new v0, whatever you call it, uh, it, it's like fourteen days, another million MRR, fourteen days, another million MRR.

**Host** [9:56]
Right.

**Jared Palmer** [9:56]
It was like a rocket ship after that.

**Host** [9:57]
Yeah.

**Jared Palmer** [9:58]
And, um, that just proceeded, uh, and we just kept cooking. And so that's been the journey. Uh, we just kept perfecting. And, and what was really, um, liberating for us was actually the focus on just one stack or one framework.

When everybody else was trying to do general purpose coding agent, we were like, "No, we're just gonna focus on Next.js front-end and ShadCN," and, and that was really-- that allowed the team to focus. So that's the, that's the story arc.

**Host** [10:21]
I mean, to be fair, like bolt lovable, like because Next.js is so dominant, basically everyone has to be good at Next.js.

**Jared Palmer** [10:27]
Right.

**Host** [10:28]
But being focused on like even right down to the UI library and component stuff like that, that actually helps a lot.

**Jared Palmer** [10:33]
We also started working with all the frontier model labs to help because it was in our Vercel's best interest to have them be great at Next.js.

**Host** [10:40]
Yeah.

**Jared Palmer** [10:41]
And also because of the post-train models, and you can read about this on the Vercel blog, like we can, uh, um, m- the post-training, um, like harness that we created, we were started sharing and stuff with other model labs and stuff like that, and we had all our data in a very hygienic state-

**Host** [10:56]
Yeah

**Jared Palmer** [10:56]
... to work with them, so.

**Host** [10:57]
Did you ever debate internally, a-and because, uh, you know, I've-- I-- my-- from my seat at Cognition, I can also see this, where you should pick the best qualities of every model and string them together in the v0, or you have the model selector and you let customers choose.

**Jared Palmer** [11:13]
We went back and forth, and I think-

### Model Strategy

**Host** [11:14]
Yeah

**Jared Palmer** [11:14]
... um, you know, we launched a-- We, we went back and forth on all this. I think at the end of the day, there's pros and cons.

**Host** [11:20]
Yeah.

**Jared Palmer** [11:21]
One of the benefits of having, uh, your own branded model or synthetic or composite is that you can stitch these things together.

**Host** [11:29]
Yeah. There's like-

**Jared Palmer** [11:30]
You can get higher levels of... And, and, and, and now it's a little different with, with this agentic flow, but even look at what you, uh, like what you guys launched recently with-

**Host** [11:37]
Exactly

**Jared Palmer** [11:37]
... rep, right? So search is gonna be a different model than what generation, but you know, the genesis, but like because it's, it's a shorter. But like search and genesis are two different mo-- like, like entire subsystems, right?

So you can have search evals that are gonna be totally different. And so how do you... So where we ended up now, uh, where are we? Where, where we've probably ended up now is like, um, for a long time we didn't have model selector, and then we had our own models, which were composites, which we talked about.

And then like, um, and that would allow us to s-- you know, mix, match, and I think that's probably if what It's also nice because you get-- As a-- This is like the product hap-- You get to brand it-

**Host** [12:19]
Yes

**Jared Palmer** [12:19]
... right? And you can decouple it from the launch of the Frontier Lab.

**Host** [12:23]
Yes.

**Jared Palmer** [12:24]
How do you guys-- How does Cognition even bill for it? Like-

**Host** [12:26]
ACUs, uh, compute units

**Jared Palmer** [12:28]
... Right. Because it becomes some synthetic unit, right?

**Host** [12:29]
Yeah.

**Jared Palmer** [12:29]
So it gets a little wonky.

**Host** [12:31]
Yeah.

**Jared Palmer** [12:31]
We can go on for pricing this, uh, this stuff. It's, it gets challenging. But the nice thing about having the, like, brand name model is that, like, you get to co-launch with the provider, and they'll hype you up.

So, uh, but your billing needs to then is capped at whatever retail is, right? Or, or, or some-

**Host** [12:50]
Right. Right, right, right

**Jared Palmer** [12:50]
... or-

**Host** [12:51]
You can't really charge a, uh, too much of a premium. You can, but-

**Jared Palmer** [12:54]
Right

**Host** [12:55]
... then people are like, "Why?"

**Jared Palmer** [12:55]
But then people are like-

**Host** [12:55]
"So I can only pay for-"

**Jared Palmer** [12:56]
... "It's the API key," right? And it's like, well, then how do we charge you for SuiteRep or something, right?

**Host** [13:00]
Yeah, yeah.

**Jared Palmer** [13:01]
Going forward, so.

**Host** [13:01]
And, and so, like I, I think it's some part of it is the cynical, like you wanna m- create a sustainable business and independence from the, the model labs. But the other part is genuinely, you actually do get better performance-

**Jared Palmer** [13:11]
Right

**Host** [13:11]
... if you like string together all these things.

**Jared Palmer** [13:12]
Yes. And so it's, it's tough. I think, uh, uh, what we've-- Switching gears to GitHub, like we're all about model choice now-

### GitHub Approach

**Host** [13:18]
Right

**Jared Palmer** [13:18]
... and like making sure that-- Uh, and what's cool is that like it's, we also have Copilot, which is our harness, and Copilot CLI, but we also have third-party harnesses like Claude Code and, and Codex and Cognition now, like in a- uh, Agent HQ.

So you kinda get the best of both worlds.

**Host** [13:33]
Yeah.

**Jared Palmer** [13:34]
And like I think that's gonna be awesome and ultimately what people want.

**Host** [13:37]
Yeah, I think, uh, also the model layer is not the right abstraction to do the switcher anymore. It's-- Which is weird because that's where you started with the ISDK.

**Jared Palmer** [13:46]
Yeah, yeah, yeah, yeah, exactly.

**Host** [13:47]
Um, but now it's like the model and the agent have to be strictly tied together, like very, very strongly balanced. You can't loosely bound it and just do a generic interface, because then you're just gonna have the lowest common denominator of all the models.

**Jared Palmer** [13:59]
If you're over in agent world-

**Host** [14:01]
Yeah, yeah

**Jared Palmer** [14:01]
... which may just be better than chat world, like in general, like-

**Host** [14:04]
Yeah, yeah

**Jared Palmer** [14:04]
... just better.

**Host** [14:05]
A-agent world is, is a much better abstraction.

**Jared Palmer** [14:06]
I-I'm calling it agent world, but I mean by like a loop with maybe compute runtime-

**Host** [14:10]
Yeah

**Jared Palmer** [14:11]
... and like files. I-

**Host** [14:11]
So do you-- That's not your definition of agent? You're dropping your official definition here?

**Jared Palmer** [14:15]
No, don't put me on the spot. But, um, maybe. May-- No. So my, my initial definition of agent for, for AI is-- 'cause like I actually fought, I was dying on this hill, 'cause AI SDK, everyone else is an agent framework, and I think maybe they, they actually went to like this...

I don't know what it says on the front page now, but like who knows? But like-

**Host** [14:31]
In like six words

**Jared Palmer** [14:31]
... an agent is, uh, you know, an agent is, uh, orchestrating, uh, ch- you know, an API request with a queue and a for loop. Okay, but a coding agent now has meant so much more. There's like these, you know, coding, coding agent SDKs, and you've got sandboxing and file systems and tool calls and, and I do think that is a uniquely d-- I'll call that agent world, and when charging coding agents here.

And yeah, I think that that seems to be where things are going. And even I believe the, the Claude Excel agent is basically... I was talking, um, to, to Mike Reager backstage, like I think it's like related to Claude Code.

**Host** [15:07]
Uh, it could be. I actually don't know-

**Jared Palmer** [15:08]
Yeah, definitely

**Host** [15:09]
... how it's implemented under the hood.

**Jared Palmer** [15:09]
It is, yeah.

**Host** [15:10]
Yeah.

**Jared Palmer** [15:10]
So it wouldn't surprise me if it was.

**Host** [15:12]
Yeah, yeah. They seem very all, all, all in on Skills, which is kind of like an interesting-

**Jared Palmer** [15:15]
What do you think of Skills?

**Host** [15:17]
Uh, it's kind of DXT, which is like the, the sort of bundled f- uh, version of MCPs.

**Jared Palmer** [15:24]
Okay. I've heard of that one.

**Host** [15:25]
Uh, it wasn't... Yeah, it wasn't... The, the reason you don't know about it is because it wasn't very popular.

**Jared Palmer** [15:28]
Okay.

**Host** [15:29]
Uh, so Skills is kinda like the, the, the second shot that is very LLM-pilled. Like, it's like just read my markdown, and just read this, this directory of files and go nuts. Uh, a-as long as like it can understand that you have the capability to run code, to read files, you're good.

Uh, and, and actually, that, that is the universal interface, which is a file system.

**Jared Palmer** [15:48]
Right.

**Host** [15:48]
Um-

**Jared Palmer** [15:49]
Back to agent file system.

**Host** [15:50]
Yeah , which is, which is kinda cool. Uh, yeah, so I mean, like I, I think like what you're hitting at is, uh, you know, th-this philosophy of like our understanding of what coding agents, the, like, the minimum bar is over the last two years.

**Jared Palmer** [16:02]
Yeah.

**Host** [16:02]
Right? Like you've, you've lived this journey, and like now you're basically kind of like the kingmaker or like the -

**Jared Palmer** [16:09]
I don't know about that

**Host** [16:09]
... you, you run-

**Jared Palmer** [16:10]
You have frames

**Host** [16:10]
... you run, you run Agent HQ and, and like, I mean, I, I, I imagine you have other projects too, but like Agent HQ is like the big one that we're talking about here. Um, like what are you seeing from like the different agents?

Like what do you want to, this to become?

**Jared Palmer** [16:25]
Such a good question. Um, I think that Agent HQ and GitHub itself need to like co-evolve and, you know, one of the things that Microsoft has done really well is by putting things that are, um, alike closer together.

### CoreAI Integration

**Jared Palmer** [16:40]
And so you think about the new Core, CoreAI organization-

**Host** [16:43]
Yeah

**Jared Palmer** [16:43]
... you've got Visual Studio-

**Host** [16:44]
Okay

**Jared Palmer** [16:45]
... Visual Studio Code, GitHub, and parts of Azure all in one. Um, and obviously the GitHub team and the VS Code team have been working closely together for a long time, but now we're really close together. And I think for me, one of the cooler things that, um, Agent HQ can sort of offer is this seamlessness, this fluidity with your workflow, right?

So if you saw in the demo today, we saw a, um, a demonstration of, uh, you use Agent HQ, you fire off a task, and it creates a PR, but you can also open that PR up in VS Code in one click.

And that's, that's awesome. And I think my... the, the vision for, for, for GitHub as it evolves is to look at those touch points where AI can be sprinkled in, you know, uh, salt Bae style, um, into the native workflow, whether you're assigning an issue or maybe some new stuff that I think we should like focus on.

Maybe it could be like, how do we resolve a merge conflict?

**Host** [17:41]
Oh my God.

**Jared Palmer** [17:42]
Right? Like, how do we maybe pop open an action or like get in, right? And so it's like-

**Host** [17:48]
I think, I think solving merge conflicts is my definition of AGI.

**Jared Palmer** [17:50]
Sh- totally. But like you get that error on an action, and you're like, "We've all been in that, we've all been in that sort of flow where like actions kind of don't work lo-locally versus that tool act." If you're trying to...

"I don't have that set up on my machine. I haven't done this in a wh-"

**Host** [18:03]
Right.

**Jared Palmer** [18:03]
So you're like pushing up, and you're, you're this like, "Okay, what if we could just put like, oh, you know, comment or kick off a task to solve this for, for you or..." There are things there. I think what, what I'm trying to describe is this like this workflow where it's just like seamless and fluid, and you can stay in a flow state across whether you're acro- like across all devices, mobile, web, on github.com, or in your local editor.

And I think that's where, you know, my focus is gonna be in the next-

**Host** [18:28]
Yeah

**Jared Palmer** [18:28]
... six, six months or so.

**Host** [18:29]
Yeah, yeah. Um, just a side tangent on this, uh- Uh, so one of the things that Microsoft also owns, I don't know if it's Microsoft or GitHub, is Dev Containers. And I think, like, a very important concept for sandboxing environments-

### Dev Containers

**Jared Palmer** [18:44]
Yeah

**Host** [18:45]
... whatever you call it, uh, it is kind of a light version of what Docker containers are, kind of.

**Jared Palmer** [18:50]
Right.

**Host** [18:51]
Uh, do you see that as a standard that we should invest in as, like, a, like a thing? Like, 'cause it's supported in VS Code. I don't think it's just that popular outside of VS Code.

**Jared Palmer** [19:01]
Yeah. Uh, it's used internally at GitHub too for, like, de- development at GitHub.

**Host** [19:05]
Oh, yeah, yeah.

**Jared Palmer** [19:05]
Which is cool. Um, yeah, I think they were so far ahead almost. Like, it was... But now there's sand- this, like sandboxes, there's so many of these days, right? So I think Cloudflare just launched theirs.

**Host** [19:14]
Yeah.

**Jared Palmer** [19:15]
Uh, there's Daytona.

**Host** [19:15]
Vercel.

**Jared Palmer** [19:16]
Vercel. Um, Mo- Modal-

**Host** [19:19]
Yeah

**Jared Palmer** [19:19]
... uh, which I think Lovable uses.

**Host** [19:21]
Uh, I have no idea.

**Jared Palmer** [19:22]
I don't know. Yeah, I mean, you, you probably have your own. I don't know, what do you, what do, what do you guys use?

**Host** [19:26]
Uh, just some Kubernetes pods.

**Jared Palmer** [19:27]
Okay, you guys are rolling it yourself. Very cool. I think that's maybe the runtime, but, but there's, there's work and discussion about what that runtime should be even internally at Microsoft, and we've got a couple different competing things, so we'll, we'll figure it out in the next, you know, in the next cycle here.

**Host** [19:41]
Right.

**Jared Palmer** [19:41]
But, uh, there's a great point, like, there, there's a lot of cool stuff that i- is in a dev container. You've already got VS Code loaded, you've got a file system-

**Host** [19:48]
Yeah

**Jared Palmer** [19:48]
... you've got a sandbox, you've got the security protocol.

**Host** [19:50]
Yeah.

**Jared Palmer** [19:50]
It's also, like, wired into GitHub Enterprise-

**Host** [19:53]
Yeah

**Jared Palmer** [19:53]
... and, like, ready to be packaged. So there's lots of goodness there.

**Host** [19:57]
Yeah, I see, like, the, the number one pain points that Cognition has, but also Codex, also presumably the other guys, is repo setup.

**Jared Palmer** [20:05]
Yeah.

**Host** [20:05]
Which is effectively what Dev Containers and a Docker file does for you, is like run this thing, then that thing, set this up, do that thing. Uh, why is it so hard? Like, why haven't we solved it?

**Jared Palmer** [20:16]
I don't know. I think it's hard because you can't predict what's in the, what's in the repo, right? So it's like...

**Host** [20:20]
Yeah.

**Jared Palmer** [20:20]
And you don't know when they've bundled FFmpeg.

**Host** [20:23]
You don't-

**Jared Palmer** [20:23]
You just don't know.

**Host** [20:24]
Right. It, it's nice when, like, if it's just Next.js, you just run PMPM install.

**Jared Palmer** [20:28]
Correct. Correct. You, you can, like, do special ki- like, there's obviously cons- through constraints you can make optimizations, and I think the general purpose container is just, like, challenging. That being said, though, I think there's probably some work to do on, you know, auto-detection and preempting and, and stuff like it to be done there, but it's just a bigger, it's a broader problem space, right?

**Host** [20:49]
Yeah.

**Jared Palmer** [20:50]
Um, and, uh, yeah.

**Host** [20:51]
So, so fun fact. When I was at Netlify, I actually wanted to reach out to Vercel to do, like, a standardized open source auto-detection thing of frameworks.

**Jared Palmer** [21:00]
Oh, yeah.

**Host** [21:00]
And I, I... Like, we, we never, we never really, like, got internal momentum on that. It was an idea.

**Jared Palmer** [21:06]
Okay.

**Host** [21:06]
I was like, "Shouldn't this be open source?" You know?

**Jared Palmer** [21:08]
Yeah.

**Host** [21:08]
Like, auto-detection is a, is a common utility-

**Jared Palmer** [21:10]
Yes

**Host** [21:10]
... that everyone needs.

**Jared Palmer** [21:11]
Yes. Yes. I remember that. I'm having a flashback. It's like half a year then. The-

**Host** [21:16]
Yeah. Everyone builds their, their-

**Jared Palmer** [21:17]
Yes, and yeah

**Host** [21:17]
... probably we shouldn't all build it.

**Jared Palmer** [21:19]
Right. No, it's, um... And then also, like, what are your defaults? They're not exactly the same, which would be better to, like, just having even the same, like, uh, preference stack-

**Host** [21:28]
Yeah

**Jared Palmer** [21:28]
... of defaults-

**Host** [21:29]
Yeah

**Jared Palmer** [21:29]
... is the right-

**Host** [21:30]
Yeah, yeah

**Jared Palmer** [21:30]
... um, would be great, 'cause then we can move the whole ecosystem together-

**Host** [21:33]
Oh, yeah

**Jared Palmer** [21:33]
... from like the PMPM run, right?

**Host** [21:36]
Um, okay. So are there other, um, movements or protocols or standards that you're interested in? Like MCP was a big winner this year.

**Jared Palmer** [21:46]
Yeah.

**Host** [21:46]
There's other like, I don't know, AC, A2A, ACP, all this, all these, like-

**Jared Palmer** [21:50]
That'd be interesting. I'm not as familiar with...

**Host** [21:52]
ACP, the payments one or the-

**Jared Palmer** [21:54]
Is that-

**Host** [21:54]
... the red one.

**Jared Palmer** [21:55]
Oh. No, the red one. The, uh-

**Host** [21:56]
That one. Okay.

**Jared Palmer** [21:57]
And then the, the payment, that was it Stripe or Coinbase?

**Host** [22:01]
Stripe.

**Jared Palmer** [22:01]
Stripe?

**Host** [22:01]
Yeah.

**Jared Palmer** [22:01]
Yeah, that's very cool.

**Host** [22:02]
We've had them on the pod.

**Jared Palmer** [22:03]
Okay, yeah. That's very cool. Um, but it'd be interesting to see if that takes off. Um-

**Host** [22:08]
I mean, it's Stripe.

**Jared Palmer** [22:09]
So yeah, but it still needs to be adopted by, like, the clients, right?

**Host** [22:13]
Yeah.

**Jared Palmer** [22:13]
And, and, and I think that's, that's fascinating. Uh, but MCP is huge, it seems. Like, it is the way that a lot of the... Especially when it comes to, like, digital transformation or some of our enterprise customers, it's where they're gonna able to be a- or where they are able to add context.

In addition to that, we also have custom agents that we announced today too, so, like, you can work with prompts and stuff within your, within your Agent HQ and, and customize these agents for different tasks and, and those can have MCPs and such, and I think that's gonna be really powerful from like a, a platform perspective.

**Host** [22:41]
Yeah.

**Jared Palmer** [22:41]
It gets me excited. That's what, like, I think is, like, shipping now in, in the next... But we're always on the lookout for, like, the next thing, and, uh, I don't know. What, what's on your... What's, what's top of mind for you?

**Host** [22:50]
Uh, for, like, standards or-

**Jared Palmer** [22:53]
Yeah, standards

**Host** [22:54]
... standards?

**Jared Palmer** [22:54]
Or should it be dev container?

**Host** [22:56]
Uh, dev container is like-

**Jared Palmer** [22:56]
Dev container. A container

**Host** [22:56]
... like, is the... Look, I think dev container just is a PR problem.

**Jared Palmer** [23:01]
Right.

**Host** [23:01]
It's a great idea.

**Jared Palmer** [23:02]
Right, right.

**Host** [23:03]
Just no one makes it interesting.

**Jared Palmer** [23:05]
Yeah, yeah.

**Host** [23:05]
I think you can do it, basically, this one.

**Jared Palmer** [23:07]
Okay. Add it to my list.

**Host** [23:09]
But before that, probably you have a bunch of other stuff that I, I do wanna get to. Uh, but just staying on the AI stuff, like, uh, I, I think we're, we're, we're actively exploring computer use as, as a thing, like, because it kind of got going a little bit.

People were very excited, and then they found out it was slow and bad and inaccurate.

**Jared Palmer** [23:27]
It is computationally intensive-

**Host** [23:29]
Intensive

**Jared Palmer** [23:30]
... from my understanding.

**Host** [23:30]
It's getting better.

**Jared Palmer** [23:31]
Yeah.

**Host** [23:32]
Uh, especially with open vision models like DeepSeek OCR and, and OMO OCR. Uh, it, it, it... Like, just give it a few more turns of the-

**Jared Palmer** [23:41]
Yeah, it's scaling. It seems very, it seems like it's, like you need that edge case, uh, and primary. It just seems like a modality worth, worth pursuing.

**Host** [23:48]
Yeah, I think a lot of people are, uh, on the CodeGen side, the code agent side, a lot of people are trying to think about, all right, we had this evolution from Copilot to, like, uh, you know, a more agentic, uh, sort of cl- like a cloud code situation is where I think that the status is.

Like, what's next, right? What's, what's the, what's the, the, the, the obvious next step?

### Agent Quality

**Jared Palmer** [24:06]
Oh, making them good?

**Host** [24:08]
Making them good. Yeah. You don't like cloud?

**Jared Palmer** [24:10]
No, no, I, I don't. It's more just like, you know, the, the, the devil's in the details. Like-

**Host** [24:14]
Yeah

**Jared Palmer** [24:15]
... going from 90%... Going to, like, hill climbing, it, it gets steeper.

**Host** [24:21]
Yeah.

**Jared Palmer** [24:21]
In my opinion. It gets steeper, and so going from 90% success to 95 to 98 to 99 to nines of success-

**Host** [24:29]
Yeah

**Jared Palmer** [24:29]
... I mean, really hard.

**Host** [24:30]
Paying Mercor a lot of money for, uh, expert programmers of open source maintainers. So, like, you know-

**Jared Palmer** [24:35]
Then you realize along the way maybe the users aren't that good at it.

**Host** [24:38]
Right.

**Jared Palmer** [24:38]
Like, um, no, but I, I just think there's a lot of work to do to finish the swing Um, and there's a big difference between ninety-eight percent and ninety-nine percent correct, uh, and that's, like, noticeable. Uh, and this used to hit, you know, if, if you're working on an AI product, you, you, you probably don't realize how-- You've probably seen this, like most people are blind, like living in la-la land about how, um, poor quality, uh, their, their AI product likely is.

Unless they're really measuring, like, the number of error-free sessions, like how many errors are coming from the in-infra, infra providers. Like, you know, how, how many requests are dropped, how fast, how fast these things are. Um, and so that's something that we cared about at Vercel quite a bit, and, like, we'll care about-

**Host** [25:19]
What are the pro-- Do you have like a daily review of your dashboard or how, how... I don't know.

**Jared Palmer** [25:23]
Daily? Daily would be slow.

**Host** [25:24]
Yeah. Oh, okay. I thought you were gonna say daily is too much.

**Jared Palmer** [25:28]
Daily is s-- No, and even thinking, it's like, uh, every three hours, k- uh, roll up of, of key metrics and stats.

**Host** [25:33]
Yeah.

**Jared Palmer** [25:34]
Um, and, like, one of them was like error-free sessions and other things like that, that was, like, really important because, you know, in the-- especially now with agents attribute, like multi-turn. Um, I have a tweet about this that was like in twenty twenty-four, which is that, like, agents will really only work when we get to not only, like, the in- more intelligent models, but better reliability of the infrastructure providers, right?

These aren't, these are not-- Inference is not like a database, like-

**Host** [25:57]
Yeah

**Jared Palmer** [25:57]
... update uptime, right? So there's still differences between providers, there's still differences between performance and difference uptimes, and that's why you see things like OpenRouter being very successful-

**Host** [26:06]
Mm

**Jared Palmer** [26:06]
... and, and different gateway products because, like, reliability, you need to switch, they go down all the time. Um, so long story short, yeah, we would, we would do like, you know, uh... It was almost like video game style.

Like, we'd have, like, all the data coming in all the time.

**Host** [26:20]
Yeah.

**Jared Palmer** [26:20]
Uh, and that allowed-- We-- I used to joke it's my mood ring, like good day, bad day. Um, so it was very successful for us. Uh, I think other teams should adopt that, like, data-driven approach, um-

**Host** [26:31]
I think one thing that's surprising is the lack, the relative lack I still see on data analyst agents, where you can sort of chat it, uh, like add a Slackbot for, uh, the, the precise analytics that you wanna generate, um, because I think we're still in the BI era.

**Jared Palmer** [26:50]
Yeah.

**Host** [26:50]
Isn't that weird?

**Jared Palmer** [26:51]
It-- Yeah, I totally agree. Um, it's interesting that that space hasn't been, like, captured as much.

**Host** [26:56]
Yeah.

**Jared Palmer** [26:57]
Like, I guess maybe now. Actually, I'm interested in this, like, shift to a way into, in, like, into knowledge work tasks with coding agents.

### Non-Coding Agents

**Host** [27:05]
Okay.

**Jared Palmer** [27:05]
I wonder-

**Host** [27:06]
Using coding agents for non-coding tasks?

**Jared Palmer** [27:08]
Correct.

**Host** [27:08]
Do you, do you do that personally?

**Jared Palmer** [27:09]
I do, yeah, yeah.

**Host** [27:10]
Yeah, what, what do you do?

**Jared Palmer** [27:11]
Well, like, I was-- This summer, I was doing, like I was helping-- I was trying to automate some of my dad's workflows and stuff like that. And just, like, some of his... He's got some Excel spreadsheets and, uh, for like accounting, like, like, uh, financial accounting or managerial accounting, I guess.

Um, and, uh, yeah, just like point cloud code of that stuff and see what happens. And like, I, it's, it, it ends up doing Python, um, and, and, and generating some scripts, and it kinda got off down other hairs, but it was like even he saw that it was better at it than the chat client that makes sense.

**Host** [27:41]
Super obvious. They, they-

**Jared Palmer** [27:43]
It became, it became kinda obvious. Yeah, it, it felt better.

**Host** [27:45]
I wonder if he can try cloud for Excel and see if-

**Jared Palmer** [27:47]
Yeah, yeah

**Host** [27:48]
... it makes sense.

**Jared Palmer** [27:48]
You're probably right. The, um... And then, of course, you got the browser, the... I don't even want-- Not the browser. Browser-based agents, but not, not computer use, but browsers with agents. Agent browsers. Wait, wait, wait, wait.

**Host** [27:58]
Oh, right, right.

**Jared Palmer** [27:58]
Agent browsers.

**Host** [27:59]
Logter, Perplexity-

**Jared Palmer** [28:00]
Yeah, everybody's coming right at that guy. It's like, is that the better... If that's true, then maybe the, the general purpose injection point is there.

**Host** [28:06]
Yeah.

**Jared Palmer** [28:07]
Uh, what do you-- Or have-- Which-- Have you tried any of the agent browsers?

**Host** [28:09]
All of them.

**Jared Palmer** [28:10]
All of-- Which one-- What, what's your take?

**Host** [28:11]
I, I am very, uh... I'm currently maining Atlas, mostly because I just wanna give ChatGPT a fair go.

**Jared Palmer** [28:16]
Okay.

**Host** [28:17]
Um, I... But I'm very stuck to the Arc and, like, the vertical tabs.

**Jared Palmer** [28:21]
Oh, okay.

**Host** [28:22]
I think, like, any pro user, like I have multiple businesses.

**Jared Palmer** [28:24]
How many tabs do you have?

**Host** [28:25]
I'm context switching, right? I, I have hundreds of tabs open. I made a, I made an open source tool called Chrome Dump, you can find it on my GitHub, uh, where it literally dumps all the tabs open, it summarizes them, and then I can close it by deleting them on Markdown.

**Jared Palmer** [28:38]
That's pretty cool.

**Host** [28:38]
And it's, it syncs to .

**Jared Palmer** [28:40]
So you just go on like a-

**Host** [28:41]
Oops

**Jared Palmer** [28:42]
... you just go on like a, like a, like a, a bender.

**Host** [28:44]
Yeah.

**Jared Palmer** [28:44]
And then you just dump it.

**Host** [28:46]
Yeah.

**Jared Palmer** [28:46]
Right.

**Host** [28:47]
It should be as easy to close as Markdown, and Chrome is, isn't that good at the performance side of things yet.

**Jared Palmer** [28:52]
And you were working on, like, some browser comparisons just like before.

**Host** [28:54]
I, I was. So I tried to build it in Tauri.

**Jared Palmer** [28:57]
Okay. How'd that go?

**Host** [28:58]
And Tauri explicitly doesn't want you to build a browser, and I, I tried to fight it too much.

**Jared Palmer** [29:02]
I see. Yeah, I see. Very cool.

**Host** [29:04]
So just to wrap things up then, and, and we're, we're around about time, there are other side projects, uh, tasks, and things that you, you've, uh, announced here. Uh, first of all, redesigned GitHub homepage, which a lot of people don't even know GitHub has a homepage.

I, I leg-- I'm legitimately one of them.

### Homepage Redesign

**Jared Palmer** [29:19]
I had a tweet, which is, uh, re- Riz's tweet, like printed out, like-

**Host** [29:24]
What?

**Jared Palmer** [29:24]
You've seen the tweet. Like, there's a tweet, um, from Riz, and it's like-

**Host** [29:27]
Love it

**Jared Palmer** [29:27]
... no one uses-

**Host** [29:27]
No one, you know, GitHub homepage

**Jared Palmer** [29:29]
... none-- All of this stuff is totally useless. I'll, I'll pull it up. Like-

**Host** [29:32]
Yeah, yeah, yeah

**Jared Palmer** [29:33]
... I, I have-- I pulled it out today 'cause we were like when we launched. Let me, let me get it right 'cause I gotta do it right. Hold on.

**Host** [29:37]
Okay.

**Jared Palmer** [29:39]
Was, um, "Incredible how pretty much the entire GitHub homepage is useless," and is one point three million views and nineteen thousand likes. And this was, uh, May two twenty-five. So heard, uh, the team, the team made improvements, and today they launched a new GitHub homepage.

**Host** [29:56]
Yeah.

**Jared Palmer** [29:56]
Which I'm very proud of. Um, and they should be really proud of. It's got tasks at the top. It's got recent PRs. Some stuff is still there, like your recent repositories. I still-- I, I think there's more work to do, but it's, like, really overhauled, and they did an amazing job with it.

**Host** [30:08]
Yeah.

**Jared Palmer** [30:09]
So they nailed it. Uh, but, you know, more work to do, never done, and, like, hopefully, we can keep iterating with, uh, the community and, and everyone and, uh, and keep going.

**Host** [30:18]
The last thing I wanna hit you on is Stacked Diffs.

**Jared Palmer** [30:21]
Oh, yeah.

### Stacked Diffs

**Host** [30:21]
You asked everyone when you joined, "What should I work on?" Or something.

**Jared Palmer** [30:24]
Yeah, what hap-

**Host** [30:25]
I don't know if this is your job specifically.

**Jared Palmer** [30:27]
It wasn't.

**Host** [30:28]
But-

**Jared Palmer** [30:28]
It wasn't

**Host** [30:28]
... why do people want Stacked Diffs so much? Let's-- I, I think you have some history there.

**Jared Palmer** [30:31]
Yes.

**Host** [30:32]
Anyone who's interacted with anyone at Facebook knows-

**Jared Palmer** [30:35]
Right

**Host** [30:35]
... about Fabricator.

**Jared Palmer** [30:36]
They're religious about it, yeah.

**Host** [30:37]
Uh, so can you explain why, why it's been so-- like, what it is, why is it so hard?

**Jared Palmer** [30:41]
Okay. So this, um- This concept of a pull request, which we're all familiar with, uh, you write some commits, you open a PR, and then you merge the PR, and you go about your day. So as you scale, like, larger organizations, um, and, like, you look at your history, and, and, and there are people who are, like, very r- I'll say, like, have, like, r- near religious beliefs about how to Git, how to do Git right.

**Host** [31:10]
Rebase vers- rebase versus merge.

**Jared Palmer** [31:12]
There's, there's a crowd that wants to fast-forward the repository, so to preserve all the history, and then there's a crowd that wants to squash and, and, and merge into the main thing.

**Host** [31:20]
I, I'm team squash.

**Jared Palmer** [31:21]
Okay. Anyway, Facebook... And I've, I've never worked at Facebook, but, um, in my previous, uh, startup before Vercel, Turborepo, I did a lot of research on build systems. And at Facebook, they have, not only do they have their custom build tools called Buck, they also have a custom file system, and they don't use Git.

They use, uh, Mercurial, which ... And then now it's sort of custom, and it's all wired together. Um, and at, at, at Facebook, they don't use pull requests. They have a different sort of philosophy. You can, um... It's sort of like the best way to anal- like, think about this is like imagine every PR just had one commit in it.

**Host** [32:00]
Yeah.

**Jared Palmer** [32:00]
You could branch them, um, and res- and the critical thing is you can restack them. And then, um, if you restack or make a change later, like earlier in the stack than later in the stack, and these stacks are just diffs, right?

The commits are just diffs, and that's the term, stack diffs. You can then collapse them and merge the last one and merge them towards the end. It just gives you a little bit of a nicer workflow. And it's what people who, if you work on a monorepo or you work on a very, very large code base, it's a really, really nice way to work, especially if you've got a system that will re- that will d- automatically restack.

Um, and then if you think even more deeply about it, like, and get really deeper into the weeds, uh, you can decide which, um, diffs in the stack CI should run against, if you get fan- if you get fancy.

**Host** [32:48]
Okay.

**Jared Palmer** [32:49]
May not be-

**Host** [32:49]
By, by like certain commit messages and or-

**Jared Palmer** [32:51]
There's always... Yeah, you could decide, like, maybe this one doesn't need it or skip that one or, or whatever, and you end up getting these, like, sort of these groups, these, these stacks. And it's really nice from a code review perspective because, um, when you go to update or you can update a different part of the stack, it just makes it a little bit more fluid, and so it's what people want.

There are a couple tools out there in the market that do this kind of behavior. One's called Graphite. There are a couple others.

**Host** [33:12]
Too many tools called Graphite. You see there's another Graphite right here.

**Jared Palmer** [33:15]
Yeah, yeah. Um, and it's just got, it's a great workflow. And so it's been the top pull request, or sorry, the top, um-

**Host** [33:23]
Feature request

**Jared Palmer** [33:23]
... feature request, thank you, uh, at GitHub for years. From, from the community's perspective. I don't know at GitHub. But, and then, so as soon as I joined, the first, the first thing I did was go look this up.

And, uh, well, not the first thing. I asked how I should make it up better, and it was the top feature request, right? Uh, and then I went to go, like, okay, investigate, like any good product person would, and it, there's been multiple attempts at this in- internally, um, going back to like 2020.

**Host** [33:48]
Okay.

**Jared Palmer** [33:49]
And there was one very, very, very, um, polished attempt too in 2022, and it just... I, I don't have all the context, so, but it was, it was, there was a pretty good implementation. All of the work was done on the client, and it reintroduced this new concept called stacks outside the pull request into GitHub, and it was a little too risky.

It was sort of deemed too risky, too big of a change. That's just what I was told. So anyway, we're, we, we had a couple meetings internally already, and, um, we're trying to weave it into planning and the roadmap, and so hopefully we'll be able to share more updates soon.

But, like, it's a top of the list known feature request.

**Host** [34:26]
As, again, heard.

**Jared Palmer** [34:27]
Yeah.

**Host** [34:27]
And so

**Jared Palmer** [34:28]
We're, and, like, we're, we're working on it. Uh, obviously, like, something the size of GitHub to move to, like, support this kind of new, this new feature is, like, not just like, um, a walk in the park because of the size of GitHub's and, and GitHub's Git implementation, but, uh, it's something that we're actively exploring.

**Host** [34:44]
Yeah. Well, I think, you know, just to wrap all that up, you know, I think it's really nice for someone who's so deeply e- en- engaged and, like, coming from, like, one of us literally-

**Jared Palmer** [34:54]
Yeah, yeah

**Host** [34:55]
... that you now run things at, at GitHub, and we can just at you. You know, like

**Jared Palmer** [34:59]
You can just at me.

**Host** [34:59]
Yeah, I think, like, uh, Ajay Karpathy was, uh, the other day was saying, like, every company needs one of these where you can just like, "Hey, like, this, this really should exist at GitHub. We love GitHub. We use GitHub, but, like, come on."

### Outro

**Host** [35:09]
And

**Jared Palmer** [35:10]
Well, yeah. Feature requests welcome. Like, my DMs are always open. It's like-

**Host** [35:13]
Oh, careful. I don't know. 180 million developers.

**Jared Palmer** [35:16]
I, I like- 100, whatever. I, I am of the philosophy that, like, all feedback is a gift. Like, it's all a signal.

**Host** [35:23]
Yeah.

**Jared Palmer** [35:23]
Um, and the more signal we can collect, the better decisions we can make, and the, truly build this really, really useful website, uh, and company, like, together, and that's gonna be the future. And if we focus just on that, we're gonna be okay.

**Host** [35:36]
Yeah. We're gonna be okay. All right.

**Jared Palmer** [35:37]
Yeah.

**Host** [35:37]
Well, thanks so much, Jared.

**Jared Palmer** [35:38]
Yeah. Thanks.

**Host** [35:38]
This was a real pleasure-

**Jared Palmer** [35:39]
Awesome

**Host** [35:39]
... catching up.

**Jared Palmer** [35:40]
Yep. Likewise.

**Host** [35:41]
Congrats.

---

This library is powered by PodHood (https://podhood.com), the podcast website platform.
