Loading summary
Rio
I don't want the tool to be, ah, we built like a cursor for designers. It's just Cursor. It's the same agent. Cursor might change how it feels depending on who you are.
Rid
What types of things are you thinking about as a designer with personalization being the end goal that you're trying to cross that chasm?
Rio
The ideal interface is different for every single person. The things we design as designers, they just kind of go up one level. Instead of you're designing exactly how this piece of UI will look, you're actually designing a container.
Rid
Coming up with the right set of blocks for AI to wield for each user dynamically probably is more important now than at any point ever in designing digital products.
Rio
I'm trying to poke at the boundaries of, of is this thing possible because we're building software and the code is the material. You have no limitations. You can do whatever.
Rid
Welcome to Dive Club. My name is Rid and this is where designers never stop learning. This week's episode is with Real Lou, who you might have heard on an earlier episode back when we were talking about early Notion and systems design. But since then, Rio's joined as the head of design at Cursor, which is easily one of the most influential companies in all of tech right now. So we're going to an inside look at how design operates at Cursor and including all of Rio's crazy AI experiments. So without further ado, let's dive in.
Rio
So Cursor people first reached out like August last year. That was before the agent existed. The Cursor product trajectory, they started with the tab. It was like auto completion for code. It's like a much better GitHub copilot. Then we did the chat like early last year. And then in the chat you can ask Cursor about the code base, questions and it'll answer, but it won't do much for you. And then in July they added the composer. So the composer is kind of like, now the chat can actually write code for you and then you can modify code. So they reached out to me back then, we talked a little bit. I thought, oh, cool. I still thought like, Cursor back then is like a tool mostly for like coders. It is still, but it has just changed so much since I thought, oh, I'm just still going to do my Notion thing because I want to make something for everyone. And then last year around November, we were doing planning at Notion, like planning this like multi year project that I was working on for a long Time. And then the plan happened to be, like, we're gonna do this, like, for second half of this year. And I was so angry because I wanted to do it, like, maybe. Since I joined Notion, I first went to V0, I made a little prototype. It's like a next JS React tailwind CSS app of the future notion. And then I played a couple rounds there, and I was stuck. I want to do more, but then I can't. So I just downloaded the app. I got cursor, open it up. I used the agent. It took a lot of time to find where the agent is. And then I was hooked. I did that for, like, three days. And I built this whole prototype of, like, the future notion, like, in my head, exactly what I want. I built, like, a menu where you can, like, turn, turn, like, every single new feature. Like, there's like a fe flag menu. Off, off, off, off. And then you can see the whole app change. It has, like, real data. It has, like, like a cool thing. It's like I built like a 3D globe view. But the idea is, like, in Notion, you know, we have, like, board table galleries, but you could have your own, like, custom views. Maybe they're written by humans. Maybe they're, you know, generated by AI. It uses the same concepts, same data model. That completely changed me. Making software before, it was, like, a really long process. You might need to kind of start, like, you know, by yourself. Maybe you can make some, like, little tools and stuff. It's fun, but in order for you to make something bigger, you need to first assemble a team. And in this team, there's, like, so many different people doing different things. You need to figure out how to, like, tie them together. You need to align people, make plans versus I have an idea. I'll draw some sketches. I'll maybe verbally describe it to the agent. Maybe I'll take a picture of, like, a napkin sketch of this, like, menu structure that I wanted. And then I'll be like, just a rectangle, box, line, line, line, divided line, line, line. And then I'll tell the agent, like, the items that I want in the menu, and then, boom, done. That's it. And then it's that. But, like, for every single little thing. And that means you can just keep going at a much faster rate to where you want your theme to be. And as you do it, you're not acting on some other artifact or representations of the software. Before people had to write docs like prd, they had to, like, make plans and, like, linear make Some tasks, they have to, like, draw some pixels and figments, try to stitch everything with, like, a process versus now. It's almost like sculpting. You get something, then you poke at it. Maybe get rid of certain parts. Maybe you re. Wrangle certain parts. Maybe you say, ah, do it again, Again and again. Do it five times. Pick the right one, it changes completely. Yeah. And then the curse of people reached.
Rid
Out again, and a lot had changed at that point.
Rio
Yeah. Like, right after I made the prototype, after, like, three days. And then I'm like, oh, shit, I need to go and jam y'. All. And I. I stayed there for, like, two days. And then that was like. The first project I shipped at Cursor was what exactly? It was like unifying all the cursor concepts into one thing. So before, Cursor had the tab command K, which is like an inline editing agent thing. The chat, which is like an agent that only talks to you but doesn't do anything. The composer, which is an agent that talks to you with some code, and the cursor composer agent, which is a mode on the composer that basically automates the edit. So the cursor had these five different concepts, five different things. They're all built separately. They're all named differently. Each of them have different key bindings. And all I did was I said, all of these things are the same thing. They're all agents. Then we merge all of them into one concept. Now we are defaulting everyone to use the agent. Before, it was like, people were stuck. People didn't know we had the agent. So that's why I think it's probably the biggest reason we took off since February.
Rid
Well, I'm glad that I started using Cursor then. After you had already made that change.
Rio
You weren't able to find it. Yeah.
Rid
I'm, like, looking back at the journey, I started using it in March.
Rio
I talked to so many people. I'm like, cursor is so great. It's so cool. And then they're like, oh, I've been using Cursor for, like, year, like, months. And then I don't have this. How do you do it? Wow. For, like, senior engineers, I talk to.
Rid
Let's go a little bit deeper there then. Because I read a tweet that you had from earlier this year where you talked about basically just, like, tips for designing tools in the age of AI, and one of the line items was the importance of thinking in systems, not features. So back up for a second and maybe at more of a Principal level. Talk about what you were even doing in your own mind to arrive at some of those seemingly obvious changes that you made in order to simplify the concepts and mental models behind Cursor.
Rio
Yeah, I think my general process was I need to understand the whole system. I need to know every bit of it as much as possible. I will consume information both from say, the outside world. Maybe it's from the users, maybe as from like bug reports, feedback, maybe as internal people, but also what it is like in actuality in the code. Then you come up with maybe like better models of doing things. Maybe you simplify things, you don't get rid of things, but you kind of unify things. Meaning, like the things that people are doing, things that people are using, they're still there, but now they're say, reorganized into something that's a little simpler. Instead of like five concepts, you have just one. And it's almost like you built layers of the same thing. For most people, they will use the default agent mode on cursor. They don't have to change anything. It will just, you know, in the ideal state, just work. But it's almost like we want to serve everyone. Like from the most experienced coders who want full manual control to people who are more like vibes. They just let the agent do everything. And then there's like, almost like in between a lot of different little configurations and like patterns and behaviors. You want to serve all of them, but you want to give people, like ideally in this spectrum the right point. You might get it wrong. Then you build mechanisms for people to say move to this side or move to this side progressively. You don't want to nudge people completely say ah. From now on, agent will be the default. Everyone will start using that. And then I don't give you a way out and then I remove everything else. Then you're like, ah, shit. Well, where is the thing that I had? I have no like continuity. I can't picture how you got from today to this new place. I can't. It's more like instead of five discrete little things, you just make the circle big. That's not one thing. But then there are still ways for people to do the five discrete things, but maybe a second set of just five things. Now there's end things.
Rid
Nowadays a lot of people are saying that you gotta become a design engineer, but I don't think that's true because paper is giving you a lot of the benefits of code without sacrificing the design experience. You could still make a mess and explore like crazy in an interface that feels like a streamlined version of Figma. But the canvas itself is rendered in code, not vector. That means developers can simply right click copy as react and then ship your designs exactly as you design them. No more lost in translation. And soon you'll even be able to import code components directly onto the design canvas so you don't have to deal with duplicate sources of truth anymore. It's a pretty big deal and just enough. Another reason why I'm all in on paper as the next great design tool. So if you want to be one of the first to access paper, head to dive dot club slash paper to claim your spot. My favorite animation tool, Jitter, just dropped a big time release. You can now draw your own shapes with their all new pen tool and animate them with fluid shape to shape transitions. It's a huge unlock for motion design in Jitter and a great way to create animations that are truly one of a kind. So if you're still, still sleeping, it's time to wake up. Just head to Dive Club Jitter to try it out today. That's J I T T E R. Now on to the episode. So in a sense you're kind of taking a tool that at least when you joined was, you know, pretty much the ICP was developers. And now you are creating something that in theory can support designers, all types of different builders.
Rio
Yes.
Rid
Does your model then require the default version of the product to be the simplest form that it can take in order to allow for those types of people? Or do you actually allow the vibe coder to move laterally towards simplicity? Okay, talk about that a little bit.
Rio
Yeah. I think the idea is right now everyone come into cursor, they see three buttons and a lot of people don't understand what they mean. There's like open project, you need to create a folder on your file system with the code. There is a clone repo. What the fuck is a repo? There is open SSH or something. What's ssh? Like nobody knows outside the programming little world. But conceptually the tool itself or even the practice of making software, all the people around building like a piece of software. Maybe you're a designer, maybe you're like a pm, maybe you're like a data person. Everything we're doing, you know, at the end they're just code that gets written. We're kind of influencing what code gets written. We're part of this game, like you know, building software. What is the right shape of things to build, how to build Then it's almost like, you know, once this AI is able to help us translate those into code, it's more like a collaborative thing. It's like a human with AI thing. It's a team thing. It's not just, you know, AI replacing the creators. It's more like there will be people who will be almost like the AI covers the things that they do less or even like, it lets them do way more than what they could afford. Like, a 1x engineer can become like a 10x engineer. A 10x engineer becomes like a thousandx engineer. A designer becomes like a 10x engineer even. Maybe you started from just vibe coding, then you got a little curious. What is this? Then you start learning. It's like react next js, tailwind, css. And then you start building more things, and then the things get better. And then it's like, I don't want the tool to be, ah. We built like a cursor for designers. We built a cursor for, I don't know, PMs. It's just cursor. It's the same agent. Cursor might change how it feels depending on who you are.
Rid
Okay, then let's pull on that strand a little bit more, because still to this day, you open up cursor. It feels like an ide. There's a familiarity to it that you all have been able to benefit from, from, and yet now you kind of have these two different forces pulling on what the product is. You have the rise of the Vibe coders and people who have no idea what an IDE even is supposed to look like. And then you also have this increasingly agentic world where more and more things are happening in parallel. And perhaps much of the future of software creation is more about strategically putting humans in the loop rather than having humans write code. So talk to me a little bit about that tension between the familiarity of an IDE and also maintaining a system that allows you to scale for a world where cursor for X might just be cursor. And you can kind of do anything from your computer.
Rio
Yeah, the IDE is just one form of cursor. And we started there because that is the. Like, we pick. Not even me. That is like, maybe I might go in people, they pick VS Code because it is the most popular code editor. Coders know what it is now. You deeply fuse it with AI and all the latest things. You ship new tools that really fits with that. Maybe we started from this manual coding workflow and you start kind of building on top of it. Gradually it kind of makes sense. If you look at the trajectory again, you start from manually writing code to auto completion of code to now I can edit this part of code to now I can ask the whole file, the whole code base to now this thing can actually do stuff. Make tool calls, make modifications, search on its own, do stuff. Like in one thread, maybe three parallel threads in the foreground. That's kind of like the tabs that we have. And now with Background Agent, you can do n things at once simultaneously, maybe parallel, maybe in sequence. This is kind of like a gradual process, right? But Cursor, even today is not stuck in the IDE anymore. Like we shipped the Slack integration, there's the web agent. There's like, it works on the phone, it works in any browser. Then you can almost feel like it's just like different forms of the same thing, different people. Or like when you're in parts of the workflow, you might prefer different forms. Say the coders, the most manual people, they still like type. They love the tab thing more than the agent. But there's like people everywhere on the spectrum. There could be like people at some point, they might not even use Cursor, the ide, they might just use the web agent, they might not even see code. They might be just planning things on a really high level, maybe with some Kanban board. But it's still Cursor. It's still the same thing. Maybe you go back to a computer, you open up Cursor app, everything's still there. Like, all you need to do is boop. Then you can switch between different branches, you can merge them all, you can try different things, you can start them anywhere, pick them up and like in the middle and then finish it off on the computer. Really depends on who you are and what you're doing.
Rid
I want to get into how you work specifically. But before we get there, I can't not ask for your thoughts on where this is all headed in terms of just what the future of software creation even looks like, given these realities that you're laying out where you might not even see code and you can access Cursor from anywhere and have n number of agents working on your behalf. You're obviously thinking about these futures as much as anybody. So what are some of the things that are in your mind right now?
Rio
In order for this to work, you need to solve some pretty hard, deep AI technical problems. Maybe it's with modeling, maybe it's building better systems to kind of support all of this. And then there is like, if Cursor is different for every single person, for every single thing. Then what is it again? We go back to the system part. Like, what are the concepts that never changes that will kind of support all of those? What are the form factors that people would prefer? What is the right default for me to give to, say, everyone or specific groups of people? What are the groups of people we care about? Where do we start? And then from there you can kind of see where things go.
Rid
Are there specific design challenges that you've spent a lot of time wrestling with as you move more towards simultaneous agents and lists and. Talk to me about that part of the process a little bit.
Rio
I spent probably this month mostly thinking about this problem. It's like, how do you both, like, spin up multiple agents and manage them, view what's going on and then once they're done, what to do with them, how do they work? How do you, like, say, plan things ahead? Most people will still do one thing at a time, but some people might want to plan a lot of things ahead. Some of them might be executed sequentially. Maybe they have dependencies between each other. Some of them might be paralyzable. So you have 10 bugs that I want to fix. Just fix them all and see what happens. And then there's this whole flow of, you start with some tasks that are planned, you're doing them. Maybe you're not doing them, the agent is doing them, but you kind of is responsible. And then once they're done, you need to kind of review what, what are the changes. You need to decide whether I want to keep parts of the change or not. You need to decide how to merge them back and, you know, ship them. Then I was like, oh, shit, that's to do list all over again. I've done this so many times. And we're back every single time. We're back to the two. Like for the agent, for the humans to do. List in the list view in the grid view in the column.
Rid
Yeah, how about we make it a Kanban board and we're back and it's.
Rio
The fucking same thing. The only difference is these things might be done by the agent. That's it. It's so simple.
Rid
How quickly did you arrive at there then? Because you said you were working on this for a month. Talk to me about how wide that spectrum of exploration was.
Rio
What we wanted was. It's almost like maybe we can get around it or you can do something else. Say, it's almost like maybe the chats, each of them become almost like a task Maybe it's like a one to one thing. But then what we realized was just people use the things so differently. Some people, they have this giant long running chat that they do everything. Maybe they have a chat just for specific kinds of edits or areas of the code base. And then our preferred method is still like you should just make a new chat for every single task that you want to do.
Rid
Yeah. Which I'm sure was really tempting too because that is the simplification of privileges. Right. Like from the systems thinking that is the idea.
Rio
If everyone were doing that, then every chat is a task. Right. Then you don't need another concept. It's almost like you're kind of organizing the chats around. But then it's almost like some people want to do like five things in one chat, some people just want to do one. Then we still need the thing to kind of help the agent even. You know, agents have like a limited context window and then we're kind of stuffing all the file context plus the chat history, what it did everything in that window. As you go longer, it forgets. Then it's kind of like, you know, sometimes the model is like really great for the first few times and then boom, it gets dumber over time. We it also needs a thing to keep track of what is the high level things it needs to do, where is it, which item is it thinking about right now? How does it relate to other things, what is coming up? Like the agents also needs that to do better things on a longer time span or doing more things. I feel like that the, the more interesting part is it's not to do list just for the agent or like just for one chat. But it's almost like the whole thing. Like imagine you can break up a piece of software, the entire software development process into just a bunch of tasks and they are kind of, you know, pegged to the prompts, like to the chats. Then you know, because this thing, this concept is so universal, the interface doesn't have to be complex. Anybody who have seen like a list view can start doing these things. And that's why we kind of build these things outside of the IDE. You can access it like in cursor.com agents boom. You see a list view of agents, you click around and then you see what they do. You can see the chat if you don't want to look at the code and then there's like a button. Boom, merge done.
Rid
That makes sense to me why it would be a valuable primitive because it's such a nice on ramp for people who actually have no interest in entering an IDE but still want to see what's happening with the project.
Rio
That is what's happening in the real world right now. When people plan things and make software, the JIRA boards or like, linear, you know, like, people do that, it's the same thing. But if you fuse it more with AI, with the agents, make it more collaborative, they're working on the code, they're like the same code base, same awareness of how things work, what's going on and what's being planned, then the agents can do better. The humans can also do better.
Rid
I want to take one step back and kind of just set the stage a little bit, which arguably I should have done 20 minutes ago, but it just got very interesting very quickly. So I want to learn a little bit more about how design, which is, you know, effectively you, how you operate at this company and what the role looks like, how you're even figuring out what to work on. Talk to me a little bit about, you know, maybe even just your week to week as the person designing Cursor.
Rio
Every week I'll come up with things I want to do and explore. Say, like, it's just specific problems. Say, like this week is like making our pricing clearer, doing more on the background agent, web, mobile launch, cleaning that up, making things better. But at the same time, I try to just gather a lot of information from everywhere so that I keep an awareness of what's going on and, like, how people perceive cursor. I try to just do projects on my own. That's how we dog food the thing. And also how I kind of get intuition of, like, where the limits of the AI are, where our problems are. And then you just play, you build. Maybe it's like, you know, we build cursor with cursor, and then also I build like baby cursor with cursor that end up in cursor. And I make real os. That's for fun. But also I'm trying to poke at the boundaries of is this thing possible? Is it easy? Is it, like, how to do it for real os? Right now, I don't even add new features. I just improve the things that I did or the agents that I tried to refactor systems. I tried to like, make other ones. And I learn. And also I can know maybe O3 is, like, better at this versus, like Gemini. And then I carry that knowledge back to work and then we fix the tool, we make it better. It just keeps going.
Rid
I want to get into the personal projects thing. But I want to double click on something you said. We talked about just gathering information and I want to know where you're deriving signal versus what you can choose to ignore. Because there are a lot of people that are giving you feedback right now. Like, I went back and looked at your screenshot of the original mobile designs and there were 772 comments, which is ridiculous. So how do you even deal with that?
Rio
Yeah, I just look at everything on Twitter, in Slack, all the like user reports and feedback. I just tried to like simmer them in. It's like training a model. It's like you're just feeding more data, you're building your intuition. Then, you know, the more you see these things, your priorities get better, your sense gets better.
Rid
Okay, so then if we were reverse engineering the system prompt that you were then using as the razor to figure out what feedback to act on versus what to say. No, that doesn't make sense. How have you evolved that system prompt to understand what feedback to ignore? Because it doesn't make strategic sense.
Rio
I will say this is like for most things in isolation, little decisions, they don't really matter. But then when you kind of put all of these little things together, they all matter. Or like say the direction matters, the concepts matters, the idea matters more than say, how you do it. I try to get get a sense of what the person really wants, why they told me this, then say, ah, your solution. I don't care. Sometimes I ignore those two. It's like, because they are really not important. Even for myself, they're not important. Then I won't spend too much time on it. Like, the more you look at these things, the easier you just kind of naturally process these. It's almost like you build your own like, processor filtering out noise and then building intuition. Also, like, it changes. It's like a dynamic thing. Maybe like this week people are saying XYZ is like better. XYZ is bad. It changes.
Rid
And also there's competing timelines at play more than ever, where in my experience, you get feature requests that make a lot of sense. But to, you know, the overused analogy, it's like it's all about making faster horses, you know? And it's difficult to know when to abide by some of those requests versus to say, you know what? Actually, like, we're focused on a totally different future that we're trying to create.
Rio
Yeah, take everything. But you said the priorities and they change. It's more like a dynamic ordering thing. It's not just like the outside too. It's like there. There's like company stuff. There's say, like resource technical limitations. There's the present, there's the future. There's the you, there's the engineers, there's the designers, there's everyone. There is more manual control versus more automation. It's really hard if you try to pick size because you get stuck a lot. It's much easier to just look at everything. And then you figure out, maybe for now we do this, but maybe later we do that.
Rid
Let's talk a little bit about your personal process. You're doing all these explorations. It sounds like there's a lot of autonomy in terms of what you're exploring and the nature of your experiments. So talk to us a bit about when are you using cursor in your own practice and is there any correlation between cursor versus other tools as it relates to where at in the fidelity of the idea in your own mind even?
Rio
Yeah, because we're building software and the code is the material. Cursor. Right now, at least it's still the best place to do that. Like to interact with the code and then do everything around it. You have no limitations. You can do whatever. And as you use it, as your code base gets more complex, Cursor has more tools to kind of COVID all of those. It scales from like a single thing to like a more complex big thing. If you look at people like what they're doing, there are people who are just writing docs in cursor. Maybe they're like doing some marketing research, doing some report. It's like doing all sorts of things. Because it's like code is like the lowest level primitive. It's not even the lowest. Say, like, it's not assembly or like machine code. It is, at least for now, the layer where we can do almost everything. If you start from that, like, from that layer and you build a system around how to interact with like a. Any code base and solve a lot of like, hard AI software engineering problems so that the agent can make more complex software check its own errors, get better as you use it, then it's much easier to build upper layers because you kind of eliminated a lot of problems that say, like a lab coder would face. Say, like, instead of them seeing a error they cannot fix, the error is just not there anymore. Or maybe it's like they. They will see some. It's like a simpler alternative interface that fits them better. That is not the sidebar of files, editor, editor, editor, chat. It can be anything.
Rid
I'm going to put a pin in that. I want to go a little bit deeper because put me into the part of your explorations before you had arrived at the to do as the primitive for these, you know, the N number of agents. Where were those explorations happening then? Were you writing in docs? Were you using Cursor to spin up UIs? Was it something else?
Rio
I just use whatever medium that fits the problem. I do a lot of walks around the office and I'm just on my phone with notion and I'm just typing ideas in like a list, bullet list or whatever. I'll just walk and I'll just write. I'll come up with like, maybe they're more conceptual and then maybe I go back, maybe there's like a visual problem I need to play with. I need like 2D space, I need exact pixel placement and I need to like quickly iterate between different layouts and stuff because the current tools don't allow you to do that with real code or like with AI. So I still use figma for that. So like it's super hard to prototype or mock up in figma, but it's so easy to do it in code. Like for all of those I just use cursor, build it out, see how it feels. One example is the like the stop and queue interaction that we're going to ship today or like tomorrow or something that started just from like a prototype in Baby Cursor. I showed it to people, people were like, oh cool. And then we built it and then we're doing more like on the multi agent stuff. Also use like prototypes for that because it's just so much easier. Especially when you're say doing these like AI interactions. Because the input, the output, the context, the response, what's in it, they all matter, you just can't fake them.
Rid
And you use the verb feel it. I mean that's exactly, it's the only thing that matters for stopping a queue. It's the only thing that matters. And I was even having a conversation with someone in a comment thread that I probably shouldn't have been in. But they were just like, I don't understand, like why would you need to do code? And you're like, man, if you are working on a product that has consistent AI output, there's anything even remotely close to a chat. It's impossible to move the needle in figma. It's impossible.
Rio
Yep, yep. I just feel like interfaces will become just way more dynamic. It will become almost like the ideal interface is different for Every single person.
Rid
All right, let's talk about it then. Because you had a tweet that I really liked where you talked about the fluidity of future AI interfaces. So share some of your thinking there, and maybe we can use that as a launching pad and see where it takes us.
Rio
Yeah, it's almost like you just can't design a thing with mocks anymore. Meaning, like, they're just static picture of one state, one ideal state that you think every single human will understand. Like, that is just impossible. We, as designers, we can try to, like, let's simplify everything. Dump. Dump it down. Make sure that this is, like, the most universal thing people can understand. And then maybe you fuck up your whole product because you watered it down. Like, it doesn't do the magic that some people want it anymore. Maybe it's not good to say, but it's Almost like the macOS redesign from Liquid Glass. It's like you kind of force people onto this, like, grid, onto this pattern, onto this system that doesn't make sense for that context or is not optimized for, say, cursors, like mouse cursors versus like, tab or vision, whatever. Like, the interfaces were designed differently for a reason. Like, iPhone buttons are, like, 44 pixels tall versus, say, like, on that, because, like, I don't know, 28. But every single person thinks differently, talks differently. They have different preferred methods of interacting with the world or other people or the thing they're thinking about or the things they're doing. I work with a lot of engineers. Even the engineers are so different. Some engineers are already fully in the agent world, but some of them are still typing code manually. Some of them purely use the keyboard. So all the vim users were Emacs. But also, there are a lot of people just click. Like, if you look at Twitter, I saw a tweet from yesterday. Like, one of the most crack coders I know, Jared, who works on, like, at Bung, he said, get a desktop, the app. That's the best way to see this.
Rid
Oh, wow. I didn't know that was legal to say. As an engineer.
Rio
Yeah, that's crazy.
Rid
I feel so much better about myself.
Rio
Yeah, yeah, yeah. So it's like, I don't want to impose my preference onto people. I want to satisfy all of them. Ideally, we might want to cut some parts of it, but ideally, like, most people, when they come in, they can feel like this thing is for them, but then it's like, in order for you to do that, it means the interface will change and it will be like people can use it in a million ways. Then you need to kind of design like a low level architecture where you can fit all these different configurations and customizations. How much do you want to offer to different people? What are the different defaults? People get it.
Rid
I'm a big believer in the power of video to explain my thinking as a designer. So when it's time to get feedback, I'll drop a loom link in Slack and another link to a Figma prototype and feedback will be scattered everywhere. And I mean, it's a mess. So I'm building the product that I've always wanted to exist and it's called Inflight. You can kind of think of it like an Async crit. It's an easy way to share a video walkthrough along with an interactive prototype or whatever you're designing. And then AI interviews the people on your team to get you the feedback that you need and organizes everything for you in a beautiful insights page. So right now I'm only giving access to Dive club listeners. So if you want to be one of the first to use Inflight, head to dive club, slash inflight to claim your spot. I don't remember when it was maybe a while back, but you talked about what has to happen to a product to make the jump toward different phases of scale. And you basically talked about how if you get to the point where everyone has to use the product, you lose a little bit of soul.
Rio
Yeah.
Rid
So it sounds like personalization is the antidote in your mind to that. And a lot of potentially, maybe what the models are making possible allows us to achieve that level of soul and craft while reaching, you know, a billion people kind of thing. What needs to happen to get there? Like as the person in, you know, some shape or form steering the ship, like, how close are we? What types of things are you thinking about as a designer with personalization being the end goal, that you're trying to cross that chasm.
Rio
Yeah, we haven't even started yet on this one. As I said, like when you open up Cursor, the three buttons, the things we design as designers, they just kind of go up one level instead of you're designing exactly how this piece of UI will look. The order of buttons, where they are placed. You are actually designing a container. These are the patterns in my whole system and then they translate between each other. So like in Cursor, you know, we have like a little input. When you select text, you command K, there's like a little input and then there's like a chat on the side there. The chat on the side can also be opened as a full editor. Then it becomes like a full window. There is the same thing, maybe like in the background agent on the website, on mobile, all of them, Conceptually they are the same things, but maybe you give them different forms depending on where you are doing the thing. What are the most essential patterns and ideas in this whole thing? And then all of their possible configurations.
Rid
Is that a finite list? Then as the designer of this future state of cursor, are you coming up with here are all of the primitives, they can be combined? Probably. It's probably just a standard factorial at that point in that future. When you think about the ceiling for personalization, is there room for dynamically generated output or UIs or combinations from an AI? Like how much of that is a factor in how you see this going?
Rio
It's possible, but I don't think arbitrary generating UI that say even the creators of the tool cannot control or cannot predict is a good thing. It just creates more chaos. Yeah, but say if you come into cursor, instead of seeing the three buttons, maybe based on what we know about you, what kind of projects you work on, maybe you told us some of your preferences and then the AI can kind of reconfigure the entire cursor for you. Maybe it flips it upside down, Maybe all you see is like this, I don't know, like a canvas where you can draw stuff and then boom, your idea, instead of like, I don't know, like a rectangle thing, turns into like a real component you can play with. Or maybe you're like a pure coder. You come into cursor, all you see is like terminals. Why not, right? But then you're still using cursor, it's just through like a different form, you're still touching all the same low level primitives. And there's not a lot of them, there's actually very few of them. And I think especially for AI, if you build too many abstractions now, you're gonna get fucked. Because a lot of them will not make sense. But there are certain things that won't ever change.
Rid
It's a good way of looking at it. What a perfect background coming from the notion, you know, because it's like how many of the tools that we use in the future will have AI playing a large role in the form and the shape that it takes for any individual person and just even the amount of context that we'll be able to extract from each Individual user is like 100x with models behind the scenes. And so coming up with the right set of blocks for AI to wield for each user dynamically probably is more important now than at any point ever in designing digital products.
Rio
Yeah, but I would say, like, the forms that we interact with, they haven't changed much, and they don't change that much. Yeah, different ways people process information. Could be visual, could be like a list, could be like a card, could be like a table, could be anything. But it really depends on what you're doing, who you are.
Rid
All right, well, I can't end this call without giving you an opportunity to talk about real estate. People are, you know, completely in love with it on Twitter for every reason. I mean, it's really fun. I was even playing around with it before this call and doing all the chats and ipod and everything. And you spoke to the value of building your own operating system as an exercise in dogfooding. But, like, there's gotta be a little bit more of a deeper motivation. And where's the inspiration come from? Why do you spend time doing this, making your own mini slacks at 3:00am? Basically, yeah.
Rio
So how this thing started was like pure accident. I built the first app in there, the Soundboard app. And if you open it, it's like there's some pre recorded sounds of me making noises. I thought, those are you.
Rid
Yeah, I didn't know that.
Rio
Yeah, there's like me making noises. And then I did this because, like, I was leaving Notion and I want like my team to have my voices in the meetings. It started as like a react Chassian tailwind CSS app. Like very generic. It was like functionally correct, looks very ugly. And I just said, make it more like retro Mac ose. And then I think it pulled some random pixely font from Google. Still very ugly, but you can get a sense of what this is gonna do. And then I was like, put it in a window. And then it put in a really bad, crappy window. And then I said, make a menu bar. And I made a menu bar. Then was like, why the fuck does this thing only have one app? It looks like an os, but it only has one app. And I built the second app, the Internet Explorer app. It started just from. It's just like a browser. It looks like a browser with a bar, but all it is is just an input and an iframe. And I called it an app. But then when I did that, it's almost like I asked the agent, and with the agent, we Kind of redesigned the whole OS architecture. Like, how do I handle multiple apps? How do I have multiple windows? There's like, window foregrounding, backgrounding. There's like, which one's active, which one's not? Dragging them around, resizing windows, managing the app states so that they're, like, stored the same way. Putting it in local storage so that when you close this website and open it again, all the states are still, you know, remaining. And then I was like, let's add a text editor. Because I was making notion. So I made the text editor and then it has like slash commands and stuff. And then I'm like, what if the chat can write into the text. Text editor. So I did that. No plans, pure Vibes, you think?
Rid
It's just that you're quick to act on ideas. Like, I was asking myself that before this call started because I was going through Twitter, right. I made a post and so many people commented, asking questions, and a lot of them were trying to dig at, like, you know, what's the inspiration for eos? And I'm like, you know, so many of the people listening, it's not that you're that much more creative than all these people. It's like, what's the difference, you know, and. And my huns, and you can confirm and deny, is that there's probably not a lot of time for you between idea and that first output, and then it just lets it unravel from there.
Rio
Yeah. One of the reasons I joined Cursor is I want the gap between have an idea and it becoming reality. Getting that closer to zero. And with Cursor, I can do that. Like, literally I can do that. It's almost like now I can do way more than, like, it's almost like any single person was capable of before. Even as an engineer, I wrote most of the real OS code. I don't know, like, most of it in, like, one or two months. Right now it's like 130k lines of code. Whoa. But I asked, like, I think I asked ChatGPT, like, how long it would take for, like, a normal engineering team to build it. It's like month or years for, like, tens of people. Or like, it's just me by myself on the side. Vibe coding, just random ideas.
Rid
So we're hiring right now for Inflight, and this afternoon we were talking with an engineer, and we're kind of just working through the strategy of what's the core team that we want to have for the next year? And Cursor has fundamentally changed that equation. For us because we have two designers, which means we have two front end engineers. You know like the types of engineers that you even need to hire change when you don't need someone to be super front end savvy. Because I can just finish whatever feature we're working on. It's amazing.
Rio
I think that will just happen for more people. And then the over specialization that we had over the last 10 years or so just completely does not make sense anymore. It's almost like everyone, if you know how to interact with the AI, it's almost like re leveling the field a little bit. Meaning like I see a lot of say 17 year olds vibe coding with AI doing way crazier things than say some engineer at like big tech doing 10 lines of code a day. Or typically, you know, all these people right now they're playing with AI on the edge. They keep poking at it, they know what it is. Maybe they did it within like a pretty short time span because the tools are also like getting really fast. But they're like look pretty ahead versus if you are still thinking maybe we need to do like, I don't know, weekly plans, standoffs, meetings, sit in rooms, eat my lunch, do nothing. It's going to be bad for you.
Rid
Good luck. Yeah, we talked about the role that Cursor plays in more of the ideation experimentation phase. But can you talk a little bit about how you collaborate with engineers at Cursor while building Cursor and how often are to you going contributing production? Is that something that's happened? When does it happen? What does that part of the process look like?
Rio
Yeah, one example is not even like for myself. So we, we have another designer, his name is Ricky. He was also from Notion. He's like a really big like design system guy. Like he loves making componentry stuff in figma. All the color tokens, styles, components, nested components, all the different states and stuff. He joined and then he started there. You know, kind of like old habits. Like just clean up everything, mock them up, make them like visually perfect, which I think is really important too. But it's almost like a thing that you only do once. So he did that and then we started like re architecting and redesigning all of our setting pages, like all the settings and the dashboard. So he did that in FIGMA for like maybe like two weeks. And I was like what are you doing? Like let's just like try vibe coding it.
Rid
What do the engineers think about this question? You know, they love it.
Rio
Yeah, yeah, they see us more like part of Them now, which is explain that I started building things without knowing the distinctions between a designer, engineer, a pm, whatever. I just made stuff myself. I designed the thing in my mind, I coded it, and then I became a designer. And I just felt this whole thing doesn't make sense. Meaning, like the designers are the people who draw pictures and the pixel states. And then the engineers need to like, say, okay, great, given these pictures. Now you kind of design the whole architecture, every piece of it, and build the whole thing. It doesn't make sense. It's like, this is the same problem, same puzzle, different sides of the puzzle, different layers of attraction of the same thing. If you slice it like this, it will end up in a weird thing when it could be something way better. It's a good segue back to before me. There were no designers at Cursor because people just built for themselves. They designed for themselves. And I think it's great. It's like, that's how Cursor got here. Because we built the best AI tool for programmers. I think we have a really good team. And then we're almost building the most cracked AI workflow that involves all the manual coding. But it's like that is just the start. But as you expand to more people, you need to make the system accommodate more ways of doing things. Different visualizations, different abstractions.
Rid
That's what I was gonna say. What? Your story speaks to the value of the designer, right? Since you have a bunch of people building for themselves, but it was the designer required to come in, untangle comple complexity, and create a solution that could scale to more people outside of themselves.
Rio
Exactly. It's like we have so many great engineers, but they're kind of clueless in some way too. It's like they. They build the most hard part of the whole problem, but they forget to build the doors or they forget to, like, make the past flow into the same thing. Like, instead of building five things, maybe we should just build one thing. It's just one thing to have like N or like a million different ways to see it. And then I think that is what I think say designers or even software architects will be doing. Like, you're just kind of designing the boundaries of things, how the concepts work together instead of doing that layer by layer like before. Meaning you have to start with the. I don't know, the strategy. You write a giant document, share it out, and then get some PMs to write more specific, like, requirements and tasks. Split tasks, do some long planning session, split the tasks to the engineers, Let Them do each of them like coding monkeys. Instead of all that, we're just builders, we have ideas, we want to build the best thing together. Maybe I'm more artsy, maybe I do more visuals. Maybe you think about the data model more or like the ML stuff. I actually don't know much about ML stuff, but that you're kind of completing this whole puzzle together and the roles, the titles just don't matter anymore when these people, all of the people involved get to write code.
Rid
We talked about the systems thinking piece. Aside from that, in a world where everyone can write and contribute ideas in code, what are the other really durable skills that you think define what a designer brings to the table in that world?
Rio
Right. I think it's really about like if you pulled all the way up like the most high level, it's really just how you interpreted the world, how you view the things around you, the concepts that you're working with. Because, you know, like, we're all different. Some people are more like, maybe they're like really good at some really deep detail, but maybe less on the high level. Some people are more like really good at high level stuff, but maybe they're not as crafty. Some people maybe are like really good at like low level code. But then when they build the ui, they just want to throw buttons everywhere and then confuse the shit out of people. But it's like all we're doing at the end results in beautiful quality software that works, that is, you know, the ideal state of all, like the sum of all these people, where they want to get to. And then it's almost like before cursor, these people had to rely on like really archaic ways to communicate and to align and to work together. And then I think the problem is actually this is like each of these roles, each of these specializations, they think differently in their own. Almost like a mental palace. It's like we talk in, I don't know, visual hierarchy, typography, spacing, colors. The engineers talk in like, I don't know, so backendy stuff. But it's all the same thing at the end. The backend is generating some message that you need to display in the ui. It will be communicated through pixels. Maybe at some point we'll get to brain computer interface. But what doesn't change is how you build the thing, how you think about it, how you break it up, how do you tie them back together with people and AI and you know, the code themselves, what you want the thing to be. Some people think building like a single purposefully built thing that only does one thing is great. I don't think like that. Then you have different preferences, different ways of doing things, and then those might be what makes the difference.
Rid
We've covered a lot of ground, and I decided to outsource my final question to Rio S. Yes. And I was talking with the virtual you earlier, and I was asking, and my prompt was basically, what is the most interesting question that I can ask to end this conversation? And what is it? What's something that you believe about the future of HCI that sounds a bit insane, but you still believe it's true?
Rio
The interface will just become, like, how you think, and I think it will just get closer to you. Meaning, like, maybe we don't operate from proxy devices. Maybe it's even closer. So, like, I'm a visual thinker. I'll still see my canvas stuff, but then maybe they're floating in my mind instead of, like, on a screen.
Rid
Yeah, that's a trippy future.
Rio
Have you seen the new neuralink presentation?
Rid
Yeah.
Rio
Like, they can already with, I think a thousand electrodes. Draw stuff in your vision field. Yeah. It's crazy.
Rid
I mean, it's hard not to just be like, what the whole definition of what we think of as a designer in that world is, what does it mean? You know, how much does it mean? It's crazy.
Rio
There's still someone coming up with the concepts, how you call things even.
Rid
What are the importance of language? Oh, my gosh, you're right.
Rio
It's like, that is actually like, a big part of my job now. It's like clarifying concepts and ideas that are supposed to be the same into, like, their simplest form that doesn't change.
Rid
Well, Brio, this has been amazing. Thank you for hanging out and geeking out on all of the things in your brain. It's been really, really fun to see how you work, and I'm even more appreciative that you took this role than I was at the beginning of this. Knowing now the impact that you've had on this product, it's really been a joy to watch, both as a user and observer. Excited to keep following you on Twitter, man.
Rio
Thank you.
Rid
Before I let you go, I want to take just one minute to run you through my favorite products, because I'm constantly asked, what's in my stack. Framer is how I build websites. Genway is how I do research. Granola is how I take notes during crit. Jitter is how I animate my designs. Lovable is how I build my ideas in code. Mobbin is how I find design inspiration. Paper is how I design like a creative. And Raycast is my shortcut every step of the way. Now I've hand selected these companies so that I can do these episodes full time. So by far the number one way to support the show is to check them out. You can find the full list at Dive Club Partners.
Dive Club Episode Summary
Episode Title: Ryo Lu - Designing the Future of Cursor
Host: Ridd
Release Date: July 11, 2025
Guest: Ryo Lu, Head of Design at Cursor
In this engaging episode of Dive Club, host Ridd sits down with Ryo Lu, the Head of Design at Cursor, one of the most influential companies in the tech landscape. Ryo shares his journey from joining Cursor, the evolution of the product, and his visionary thoughts on the future of software design in an AI-driven world.
Ryo begins by recounting his initial interactions with Cursor in August of the previous year, before the AI agent was introduced. He explains how Cursor's trajectory shifted from being a tool primarily for coders to a more versatile platform catering to a broader audience.
Ryo (00:36): "Instead of you're designing exactly how this piece of UI will look, you're actually designing a container."
Ryo emphasizes the transformational shift in design philosophy, moving from static UI elements to dynamic containers that adapt based on user needs.
Ryo narrates a pivotal moment when planning at Notion led him to experiment intensely with Cursor. Over three days, he built a comprehensive prototype of a "future Notion," leveraging Cursor's AI capabilities to rapidly iterate and visualize complex features without the traditional constraints of software development.
Ryo (04:30): "I built, like, a 3D globe view. But the idea is, like, in Notion, you know, we have, like, board table galleries, but you could have your own, like, custom views."
This prototype demonstrated the potential of AI-powered tools to democratize software creation, allowing individuals to bring intricate ideas to life without assembling large teams.
Upon joining Cursor, Ryo identified that the product had multiple fragmented concepts, each with its own interface and key bindings. His primary achievement was unifying these disparate elements into a cohesive system centered around a single AI agent.
Ryo (06:00): "All of these things are the same thing. They're all agents. Then we merge all of them into one concept."
This unification significantly enhanced user experience, making Cursor more intuitive and accessible, which Ryo credits as a major factor in Cursor's rapid growth post-February.
Ryo delves into the challenge of designing Cursor to cater to a wide spectrum of users, from seasoned developers to non-technical individuals. He explains the importance of creating flexible interfaces that adapt to individual preferences without imposing a one-size-fits-all solution.
Ryo (12:31): "Cursor might change how it feels depending on who you are."
He highlights the necessity of designing containers rather than fixed UIs, allowing Cursor to morph its interface based on the user's role and requirements.
Ryo shares his vision for the future of software development, where AI-driven agents play a pivotal role in facilitating seamless collaboration between humans and machines. He anticipates a shift from traditional coding to more strategic and conceptual interactions with AI.
Ryo (18:32): "In order for this to work, you need to solve some pretty hard, deep AI technical problems."
He discusses the technical and design challenges involved in managing multiple AI agents, ensuring they operate cohesively, and maintaining a high-level understanding of projects without overwhelming users.
Ryo outlines his personal approach to design at Cursor, which involves continuous experimentation, dogfooding the product, and iterating based on comprehensive feedback from various channels.
Ryo (26:51): "I just look at everything on Twitter, in Slack, all the like user reports and feedback."
He emphasizes the importance of filtering feedback to focus on strategic directions rather than getting bogged down by individual suggestions, building intuition through accumulated insights.
Ryo discusses the evolving dynamics between designers and engineers at Cursor. He advocates for a more integrated approach where designers are actively involved in the coding process, breaking down traditional silos and fostering a collaborative environment.
Ryo (48:00): "I made stuff myself. I designed the thing in my mind, I coded it, and then I became a designer."
This holistic involvement ensures that design decisions are deeply intertwined with technical implementation, leading to more cohesive and scalable solutions.
Throughout the conversation, Ryo underscores personalization as a fundamental goal. He envisions Cursor as a platform that can dynamically adjust its interface and functionalities based on individual user profiles, enhancing both usability and efficiency.
Ryo (39:56): "If you start from that, like, from that layer and you build a system around how to interact with like a. Any code base and solve a lot of like, hard AI software engineering problems so that the agent can make more complex software check its own errors, get better as you use it, then it's much easier to build upper layers."
Ryo believes that personalization will enable software to maintain its "soul" and craftsmanship while scaling to millions of users, ensuring that each user feels a personal connection with the tool.
Ryo shares anecdotes about his personal projects, such as building mini operating systems and other experimental tools using Cursor. These projects are not only exercises in creativity but also serve as practical experiments to push the boundaries of what's possible with AI-assisted design.
Ryo (45:20): "One of the reasons I joined Cursor is I want the gap between have an idea and it becoming reality. Getting that closer to zero."
His ability to rapidly prototype and iterate exemplifies the power of AI tools in bridging the gap between conceptual ideas and tangible products.
In a thought-provoking closing, Ryo speculates on the future of HCI, where interfaces become extensions of human thought, potentially eliminating the need for traditional proxy devices.
Ryo (55:12): "The interface will just become, like, how you think, and I think it will just get closer to you."
He references advancements like Neuralink, envisioning a future where technology seamlessly integrates with human cognition, allowing for more natural and intuitive interactions.
The episode concludes with Ridd expressing deep appreciation for Ryo's insights and contributions to Cursor. Ryo's forward-thinking approach and dedication to simplifying and enhancing the user experience through AI-driven personalization underscore the transformative potential of modern design philosophies.
Ridd (56:43): "It's been really, really fun to see how you work, and I'm even more appreciative that you took this role than I was at the beginning of this."
Ryo reiterates his commitment to refining Cursor and shaping the future of software design, leaving listeners inspired by the possibilities that lie ahead.
This episode of Dive Club offers a deep dive into the innovative design strategies at Cursor, led by Ryo Lu. It highlights the transformative impact of AI on software design, the importance of personalization, and the future trajectory of human-computer interactions. Whether you're a designer, developer, or tech enthusiast, Ryo's insights provide valuable perspectives on navigating and shaping the evolving tech landscape.