Linear’s Delightful Design Patterns You Should Copy
Linear is the most delightful project management tool I’ve used. It inspired how we build products and internal tools for clients. In this post, I break down the patterns that make Linear’s experience delightful so you can use them in your projects.
Speed
Designed to move fast
Linear is built in pursuit of high-performance. With its keyboard-first design, realtime sync, and zero-friction workflows, it delivers a focused experience ideal for fast-paced development environments.
Linear’s obsessive focus on speed not only results in improved developer productivity, but also enables teams to move faster.
Companies that switch to Linear report a significant uplift in newly filed tickets, vastly reduced issue closing times, and products that ship faster.
For us, speed is not just an afterthought. It’s our most important feature.
Speed is always a good investment
Jeff Bezos said:
When I’m talking with people outside the company, there’s a question that comes up very commonly: ‘What’s going to change in the next five to ten years?’ But I very rarely get asked ‘What’s not going to change in the next five to ten years?’ At Amazon we’re always trying to figure that out, because you can really spin up flywheels around those things.
That’s why Amazon optimizes for speed. No one’s going to say “I wish my package arrived in a week instead of tomorrow” or “I wish this app was slower.”
Speed is objective and measurable
Aesthetic preferences are qualitative and can vary from person to person. Speed is easy to measure.
Instead of asking “Is this interface intuitive?”, measure it by asking: “How long does it take to do what you want?”
Linear does speed incredibly well, and everything below is about achieving that speed.
100ms Instantaneous Interactions
Numerous examples show how website latency negatively affects conversions.
More than 10 years ago, Amazon found that every 100ms of latency cost them 1% in sales. In 2006, Google found an extra .5 seconds in search page generation time dropped traffic by 20%.
Paul Buchheit, creator of Gmail, says every interaction should be under 100ms to feel instantaneous, which is delightful.
Keyboard Shortcuts
I’m more efficient in apps with keyboard shortcuts, such as Vim, Notion, Superhuman, Slack, Linear, etc. Research (1) supports that. It’s a must-have for any app I use for a significant amount of time.
You can control Linear entirely with the keyboard. They have a keyboard-only mode that disables the mouse so you can learn how to use it entirely with the keyboard.
Command Palette (CMD+K)
This is my favorite modern design pattern.
The command palette is a fuzzy finder modal that puts everything an app does at your fingertips. You don’t have to remember where something is or visually search for it and navigate 7 layers deep into a settings menu.
Want to invite another team member? CMD+K
, type “invite”, hit enter.
It’s an amazing training tool for learning keyboard shortcuts. It shows the shortcut next to every option, so you can learn the ones you use often.
All my favorite apps (Slack, Linear, Notion, Raycast) use this approach.
- The command palette is unobtrusive and doesn’t clutter your interface. If people don’t use it, it doesn’t get in their way.
- It reduces the steps, improving speed and reducing friction in executing a function.
- The command palette becomes how you do everything in the app, making your app easier to use because if a user knows the name of something, they can do it.
Make it easy for people to contact you
An anti-pattern is making it hard to contact a real person.
Yesterday, I got an email about a new product. The email came from a noreply@ address. The call-to-action button led to a 404 page. I tried emailing support@, but that wasn’t a valid email. So instead of hitting reply to let them know, I’d have to dig around the website, log into my account, and find a way to contact them. So I didn’t bother.
That’s bad for them:
- I wanted to buy the thing and couldn’t.
- It was frustrating.
- There was no convenient way to inform them, likely prolonging the issue.
As a creator, I want options. I’d rather have the information and choose to ignore it than be in the dark, especially in the early stages of product development.
I understand customer support can be overwhelming. We have amazing AI tools to help you prioritize what to focus on.
Linear makes it easy to contact them.
- There’s a form to submit questions, problems, and feedback in the app.
- Email support@.
- You can reply to their emails.
Instant Capture
In Building a Second Brain, Tiago teaches the knowledge management framework CODE:
- Capture
- Organize
- Distill
- Express
Getting information into an app (“capture”) is essential.
In Linear, you can:
- Forward emails to create new issues with the relevant context. I use this all the time to forward client emails.
- Create issues directly from Slack conversations with Linear Asks, which attaches the conversation for context.
- Create issues from integrations, e.g. create a new issue to triage Sentry error reports.
- Create multiple issues consecutively.
- Highlight a list and convert each item into an issue.
AI Done Right
I’m not a fan of companies bolting on AI to their products and thinking it’s awesome. Seeing AI in marketing materials makes me roll my eyes because it doesn’t do much for me. When AI is used as a scalpel, it can be amazing. Linear does this in two ways:
-
Create filters with natural language
To generate a monthly completion report, I do:
G
thenA
to go to the active issues listF
to open the filter menuEnter
to select AI filter- type “Completed in October”
Enter
This creates the filter:
Completed Date after Oct 1, 2024 and Completed Date before November 1, 2024
. That’s faster than typing it manually. -
Show duplicate/similar issues
When I add a new issue, Linear AI suggests similar ones to avoid duplicates.
I like using AI in unique ways. I can’t do the two things above with a chat-based AI. I CAN copy/paste text to/from ChatGPT/Claude. I don’t need that built into every app.
Progressive Customization
Linear balances ease-of-use and customizability.
It’s delightful out of the box. You don’t have to go through a massive onboarding and steep learning curve. And it’s customizable.
My favorite feature is the customizable sidebar that allows me to:
- Customize a view and save it to my sidebar.
- Subscribe to a particular view.
- Pin individual issues to my sidebar.
Integrations & API
Linear offers dozens of easy-to-use integrations, and their public API is easy to use. This allows us to write scripts for one-off tasks efficiently.
Inbox & Triage Queues
Batching asynchronous communication is a productivity game-changer. I aim to get to Inbox 0 on all my channels once or twice per day.
- I love that Linear has a notification inbox, so I can go through everything project-by-project.
- New issues appear in triage, where they can be accepted or declined.
- I can snooze notifications that I can’t handle right now.
Threaded & Resolvable Comments
We’ve all had email conversations about multiple topics in a single thread where something gets lost.
Linear treats all top-level comments as a thread, so you can have multiple conversations on different topics. Once a thread is resolved, you can mark it as resolved to minimize clutter.
Snoozing & Reminders
Sometimes I encounter something in Linear that I can’t process or need to review later. Instead of using a separate tool to create a reminder, I can press H
and type a time in natural language. For example, “2d” reminds me in 2 days. It shows up in my inbox with all other notifications.
Everything has a URL
Every issue, project, view in Linear has its own URL. I can copy the link to anything I’m viewing and send it to someone else, so they don’t have to search for information. It also lets me open every view in a tab and close it when I’m done.
Changelog
My favorite news is updates on my favorite products. Every update helps me do my daily tasks faster, better, and easier. Changelogs keep people engaged with your product.
Linear has a great post about the why and how of changelogs.