惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
云风的 BLOG
云风的 BLOG
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
Engineering at Meta
Engineering at Meta
Vercel News
Vercel News
Y
Y Combinator Blog
B
Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Check Point Blog
M
MIT News - Artificial intelligence
Jina AI
Jina AI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Apple Machine Learning Research
Apple Machine Learning Research
Hugging Face - Blog
Hugging Face - Blog
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
Stack Overflow Blog
Stack Overflow Blog
F
Fortinet All Blogs
博客园 - 司徒正美
I
InfoQ
Google DeepMind News
Google DeepMind News
GbyAI
GbyAI
U
Unit 42

Graphite blog

Introducing Code Tours: a new way to review Introducing Cursor Cloud Agents in Graphite Building the future of software development with Cursor Graphite changelog [11-20-2025] Graphite changelog [11-04-2025] Graphite changelog [10-16-2025] The future of engineering is collaborative (and already here) Meet Graphite Agent: the next evolution of AI code review Introducing frozen branches: A safer way to build on your teammates’ work Graphite changelog [09-17-2025] How we sped up code search for Graphite Chat Introducing Graphite Chat AI is writing code—here's why it also needs to review that code How I got Claude to write code I could actually ship How we built the first stack-aware merge queue (and why it matters) How we organize our monorepo to ship fast Graphite brings stacking to Tower Code review tooling: Should you build or buy? Making AI code review available to everyone Introducing: The new Graphite + Linear integration Graphite raises $52M and launches Diamond to reimagine code review for the age of AI Why AI will never replace human code review How stacked PRs unblock distributed development teams Graphite is going to Developer Week 2025 Beating the end of year code freeze How Graphite’s eng team ships code remarkably fast Why we chose Anthropic's Claude to power Graphite Reviewer AI code generation will remain fragmented How we redesigned Graphite's landing page in-house Introducing Graphite Reviewer: your AI code review companion
Reimagining the PR Page: Designing for speed and focus
Sara Verdi · 2025-11-25 · via Graphite blog

Every single Graphite user passes through the PR page. But over time, we realized that one of our most important surfaces was also one of our most cluttered. “Customers were coming to the PR page and it was too overwhelming, recalls lead designer Cameron Collis. The experience worked, but it lacked the clarity and focus we pride ourselves on. So, we decided to rebuild it from the ground up.

Since most of our users are familiar with GitHub’s PR page, we wanted to create something that felt instantly recognizable, yet distinctly Graphite. “The main goal was a tidier visual experience. We wanted to reduce visual clutter, noise, redundant labels, and any unnecessary decorative elements,” Cameron adds. 

So, we set out on tightening what worked, simplifying what didn’t, and making the page feel faster, clearer, and more aligned with how developers actually review code. In this post, we’ll explore some of the design thinking that went into one of our largest iterations of the PR page to date.

Our design thinking

Beyond the visual overhaul, the original brief for the redesign included a few hard feature requirements—most notably floating comments and a rich text editor. These weren’t last-minute additions or experiments, they’d been on our minds for years. The PR page redesign finally gave us the space to build them the right way.

Eli Howey, one of the lead software engineers on the project, recalls how those constraints opened creative possibilities rather than limiting them. “That was a nice way to start the project,” he said. “It gave us more room to explore different ideas. It made us really focus on a new vision instead of being tied to some of the previous decisions.”

Newfound accessibility with a rich text editor

The decision to add rich text editing came from a simple observation: not everyone reviewing code is fluent in markdown. On GitHub, most text inputs, like comments and PR descriptions, are plain markdown fields. While that’s familiar to many engineers, it can be alienating to others. Designers, PMs, and less-technical collaborators often contribute to reviews, too, and syntax formatting shouldn’t be a barrier to participation.

By introducing a rich text editor, we’re making PR discussions feel more natural and inclusive. You can now format text, add emphasis, and structure your thoughts visually, without needing to remember markdown syntax. It’s a small detail that makes Graphite feel more human.

Floating comments, on the other hand, were a direct response to years of user feedback. “Reviewers tend to read files line by line, top to bottom. But when a long comment thread breaks up the diff view, it disrupts them. They lose their place or scroll up and down trying to reorient themselves,” Eli explains. Over time, that friction adds up.

Floating comments solve that problem elegantly. Instead of embedding long threads directly in the diff, comments now hover contextually beside the relevant code. They stay accessible without obstructing your view to keep you immersed in the review itself.

This was one of those changes that sounds simple but required deep rethinking of how the PR page was structured. It forced us to reimagine not just how comments look, but how they behave, for example, how they appear, anchor, and disappear as you read.

Challenges: Rethinking the stack

The stack—the sequence of PRs linked together—is a core part of the Graphite experience. It gives you context, helps you navigate related changes, and makes merging smoother. But figuring out where it should live on the redesigned page was surprisingly difficult.

Cameron recalls, “The stack is an interesting one. A lot of people felt like the natural place for it was in the middle of the page, since that’s where the actual PR content lives.” Others argued for a sidebar approach. “It felt intuitive,” Eli explains, “because moving through a stack is a bit like browsing, going back and forth between related things.”

So we tried it. We moved the stack to the left sidebar. And it didn’t work. Once we built it, we realized just how dense the information inside each PR card really was. Each item had to display multiple details: PR titles (often long ones), status indicators, comment counts, lines changed, and more. In the narrow sidebar, that content felt cramped. The visual hierarchy broke down, and the scrollable column introduced its own usability issues.

“The information and content that’s in the stack is really hard to work in,” Cameron says. “It just takes up too much space in a narrow sidebar.” And beyond layout, there was also a conceptual mismatch. Some stacks have multiple PRs; others have just one. For those simpler cases, dedicating an entire sidebar to the stack felt unnecessary.

Ultimately, we found that the horizontal layout we’d previously used was still the most flexible and readable way to represent stacks. It allowed for more breathing room, better scanning, and clearer visual relationships between PRs. So, in the end, the stack stayed where it belonged: anchored within the flow of the PR itself, not off to the side. It’s a small but important example of how we balanced ambition with pragmatism when evolving Graphite’s core experiences.

Building through iteration

We approached the redesign the same way we approach everything at Graphite: Through constant iteration and dogfooding. Every internal rollout became a mini stress test. We’d catch small visual issues or interaction bugs, adjust, and push again. We do this to ensure that users get the best version of Graphite by the time we roll out a new launch. 

Those dozens of refinements compounded into a page that feels smoother, sturdier, and more intuitive with every click. The PR page is where developers spend most of their time in Graphite, and it deserves to feel effortless. As we continue testing, dogfooding, and refining, our goal remains simple: to make Graphite the fastest, most intuitive way to move code forward. “This redesign was all about bringing the code back into center focus,” Eli says. “And I think we’ve come up with something that does exactly that for users.”