First of Kind › Ryo Lu: The Way
By First of Kind
Summary
Topics Covered
- Everyone Builds Software Together
- Dogfood Creates Self-Improving Loop
- Agents Ascend Interaction Abstractions
- Simple Primitives Unlock Infinite Complexity
- Designers Who Only Mock Are Obsolete
Full Transcript
If you're a designer who thinks designing is just drawing buttons and inputs and making mocks and maybe like
building design systems, you're like a little [ __ ] First of Kind is a new series about design and tech told by its pioneers.
Sponsored by Framer, Cursor, Purcell, and Profound. Riolu leads designer at
and Profound. Riolu leads designer at cursor, the AI tool that revolutionized how teams built software. He was vibe coding long before the term even existed. This is our conversation. Rio,
existed. This is our conversation. Rio,
how are you?
>> Good. How are you? Fantastic. Thank you
so much for spending time with me.
>> Yes. I so appreciate it. You and I have very similar career paths even though it's very different contexts. And when I look back on my career, getting to work closely with Mark Zuckerberg on a
generational company as a early designer and then moving on to run design in my own way at a company called Dropbox years and years later, I couldn't help but see some parallels with some of the work that you've done at some
transformational companies, working closely with Ivan on notion from the early years and now leading design at Cursor, probably one of the most, if not
the most influential startups in the age of AI. I want to talk to you about your
of AI. I want to talk to you about your path to here >> because the whole spirit of this program first of kind is people who are doing
something for the first time the the first of n and when I look at the space of designers working in our field you have consistently shown that you are an
original and I want to talk a little bit about winding the clock back how did that come to be like what what is like the the life story behind behind uh the
person who is leading design at cursor.
Let's start with uh cursor today and then we'll work backwards. What is
design at cursor? design a cursor right now is four people uh including myself, two people focus on the product uh one
person on the brand but a lot of like almost all the engineers at cursor are also kind of designing or like
people start building stuff and as they build they're like actually designing the the system maybe like they They care less about the visuals where how things
flow at at one point.
>> Yes.
>> But they're still thinking about it.
They're building it. And then now my job is how do I kind of wrangle things back?
How do I clean it up? How do I unify the concepts so that things stay cohesive?
It is a lot more chaotic. Um but that makes it more fun.
>> Interesting. Do you find that a lot of the work you then do is curating the ideas and trying to find their platonic form? Like what is what does the
form? Like what is what does the day-to-day look like given the size of the team and the different skill sets?
>> Yeah. Yeah. There's a lot of like you're both thinking ahead like where do we want to get to given what people are
doing today, the systems that we have today. But also, you're like exploring
today. But also, you're like exploring new ideas. Maybe they're a little crazy,
new ideas. Maybe they're a little crazy, a little further out. Maybe they're like closer and there's all this code that gets produced, that gets merged. And
sometimes maybe we spent more time thinking ahead. Then we know maybe a
thinking ahead. Then we know maybe a little bit more clearly at a high level how should things fit together better.
But also sometimes you're just playing with some ideas and then see how it works. Once it's built then you have
works. Once it's built then you have better clear like a better idea and you keep going and that's good too. But a
lot of times because we're working with software a lot of the concepts a lot of the systems part of it is all the same thing.
So I help people like break down the problem see ah this piece and this piece is the same. Maybe you should talk to this guy because he's working on that.
Maybe your thing and his thing is the same thing. Maybe we already have the
same thing. Maybe we already have the thing. We just need to make that thing
thing. We just need to make that thing better. Maybe we already have the thing.
better. Maybe we already have the thing.
We just need to cut it cuz we don't need it anymore.
>> Right.
>> And then you're trying to keep the system clean at every layer of abstraction.
>> Yes. from how people perceive it like visually to like how it's modeled >> to how you know things scale to what are
the core ideas and they all kind of are tied together.
>> I imagine that this way of working shapes like the kind of people you bring to Kurser you hire.
>> What are those people like and how are they different from other startups? What
do you look for to kind of tease out >> their qualities? Mhm.
>> Yeah. I feel like a lot of us are like generalists, super IC's.
>> Mhm.
>> Exfounders, like people have a lot of self- agency and skills to kind of just do the thing
and they're like less worried and they're are good collaborators. Mhm.
>> Uh they don't care about boundaries or process or bureaucracy.
We have this big problem.
Maybe I'll focus on the parts that I care most about that I'm good at. Maybe
for myself is like the concepts, the visuals, how things fit. The engineers
can think about the architecture and stuff. And then we used to not have PMs.
stuff. And then we used to not have PMs. Now we do, but they're like they just found you know there are certain things that I'm good at. So I just come and
then we work together together on the same material which is code.
>> Mhm.
>> And it doesn't really matter. It's like
the old ways of doing things is more each discipline does their own thing in their own little world with their own language tools and
then you try to stitch things with like artifacts and processes like the PM writes a purity runs meetings share the things out the designers mix the mocks
the pixels with the concepts that maybe that is not theirs the engineers take whatever
that's broken down from all of this and then just do little tickets when they should probably think about like how do I architect it better and you know make
it scale scale more. They should also have some fun.
>> Mhm.
>> So all of these people are so disjoint.
They all use separate tools. They all
talk differently. What the [ __ ] are we doing?
versus we're all like software builders. Some
of us might be good at words or pixels.
We're like actually really good at coding.
>> Mhm.
>> And you just put these people together, give them like a a big and kind of vague problem. Might be, you know, seemingly
problem. Might be, you know, seemingly impossible if framed in like a more traditional tech company context, >> right? But then here it just happens
>> right? But then here it just happens because you give these people agency.
>> Yeah. What I find amazing about what you just described is that cursor today is becoming more and more the surface for creation.
>> Mhm.
>> And in this context, you are building cursor within cursor.
>> There's something intensely recursive about that, right?
>> And so it creates this like quality of dog fooding that's very unique. to
people who are unfamiliar with that way of working, >> how do you kind of describe it to yourself? How do how do you describe it
yourself? How do how do you describe it to others?
>> Yeah, I think like a lot of us maybe we think of us as we're just like doing software for a job versus you're actually like you're
building something that I really care about. Like what's the difference? Like
about. Like what's the difference? Like
if you want to do something you really care about, you just need to be constantly in it.
You start from building things for yourself, your own pain points, your own habits to make yourself happy to build
something that flows well, you know, with how you think. Then it gets, you know, a little bit bigger. It's like now you're solving problems for people like you.
In the context of cursor, everyone who started cursor, they were just, you know, software engineers. They love
programming. They love making tools. And
that's how they started. They needed
something that fits the AI better that takes advantage of all the things the models have put them with coding like what is the right interaction? What is
the right way to do the thing? Now they
started there. they built them, you know, built the thing for themselves and then they kept doing that because they care. And now you get like more people
care. And now you get like more people around who also care. And you don't treat it as uh I need to wait for the ticket to arrive to to get assigned then
I do something once I'm done. I don't
care cuz I can't really use the product myself. I don't I don't I can't make the
myself. I don't I don't I can't make the connection even.
>> Mhm. when this thing is like something so core to us like we use it almost every like every hour every second both to make cursor and also like just
to have fun too like a lot of us we started from building like side projects. So like one of our engineers
projects. So like one of our engineers Ian he used cursor to build like a 3D like Minecraft thing in the browser.
I used it to like make my own personal OS just for fun, just to play with it, just to
feel it. Then we use this feeling. We
feel it. Then we use this feeling. We
use all the things we observe that we hate about the thing to make it better and you just keep doing it. So the tool gets better, you also get better.
>> Mhm.
>> Like you you're now more capable, you can do more things. And as you do that, you improve the tool and it's like a self-improving loop.
>> Yeah.
>> Once the agent is able to do this by themselves, it will be even faster.
>> Yeah. And do you feel like you're very close to that threshold? Because from my vantage point, >> the entire tech ecosystem is in the like the drag field
>> of cursor.
>> This like recursive flywheel that you described.
>> Yeah.
>> Is very palpable. Teams are shipping faster everywhere. engineers that lean
faster everywhere. engineers that lean into the technology are wildly more productive than they've been in years past and nobody wants to retreat from that productivity.
>> What will be the the shift in self-improvement once >> agents become a core part of the overall flow and you're now starting to
coordinate? Yeah, I think we're going to
coordinate? Yeah, I think we're going to ascend in like the layer of abstraction we interact with these things like with the agents or even the code the software
itself >> like we started from manual coding files lines of code typing lines of code to
you type and then we start we complete the function for you. We figure out what's the next thing you want to write.
We help you jump to that file. We let
you keep in your flow as you type. Then
we did the chat thing. Now the the AI is aware of your whole codebase. It can
answer all the questions. We added
editing capabilities. It can now apply changes. We added tools. Then now it's
changes. We added tools. Then now it's like more agentic. It can do more things. But we're still limited by
things. But we're still limited by ourselves as humans. We can't process that much of information at once. We can
only look at one chat thread at a time as it happens.
>> Maybe like the most crazy people I know, the best programmers, they can maybe only do like four agents max at once.
>> Then the problem becomes as the agents get more autonomous, they get more context, they know they have more tools to do things. Um they might also know
what you want more clearly. So like I can capture my hollow intent and plan.
Then the agent can do a lot of things but you become the bottleneck.
>> How do I help the user instead of like chatting with 15 agents at once or like reviewing changes from all these >> things like what is the next level interface >> right
>> or the abstraction?
>> Yeah. And does that become the thing that unlocks a concentric circle of new users?
>> Exactly. All of a sudden now you have >> now you ascend in the abstractions.
Instead of like directly interfacing with code you chat with it. Instead of
directly chatting with each agent maybe you plan with it. Maybe you see things at a higher level. You see a dashboard of what >> oh these agents are kind of block I need
to help them. Uh these are the plans and tasks that I want to do. But maybe you know just maybe the designers want something else too like they want something more visual
>> right >> directly like manillable click on this make it bigger boom it's bigger >> the thing that I've always found kind of remarkable about cursor is this like
larger theory that I feel like you have been carrying since before your time there this idea of like a pattern language that um is extensible that you focus on on on the platonic forms of the
building blocks and you you honor them and try to really get the most out of them and allow that their composition to be as infinite and
wildly useful as possible so that the system um can almost telescope up and down in complexity. You can have a set of keys that can fit the hands of a
child or you can have a set of keys that can fill a room and play for an auditorium. Right? And and in my mind,
auditorium. Right? And and in my mind, the thing that I find so difficult about this job is that what you're describing makes sense to me, except these models
change their powers, their capabilities, and there's a a feel to it, right? And I
feel like before we had vibe coding, >> you were feeling >> the shift in those models.
>> How did those two ideas intersect?
because I feel like it's at the heart of the design philosophy that you've carried from your time at Stripe and then at notion and now at cursor.
>> Yeah, I think preai it was mostly us thinking about what are the parts what are the things like the
comp the the lower level components and how to kind of assemble them. If you
look at each piece of software at the conceptual level, usually there's not that many things in there.
>> Say like Tik Tok is just like a feed of videos, auto looping. The user all they do is they go to the next one. Notion is
blocks, pages, databases. But once you kind of combine these things, it can give a rise to like emerging complexity.
people can do whatever. The simpler the core set of things the easier they can combine. When you treat say like a lot
combine. When you treat say like a lot of people when they do products they think in ah this is my group of users
that I care about. I'll figure out what are their problems. Maybe I found 20 problems, but I decide to focus on one
problem and I just make one thing.
Say my concepts entirely are based on that one problem and I make my whole thing out of it. It just won't scale. It
won't be as flexible.
when now it's like with AI because the models are themselves general purpose they have read the whole world all the
public information knowledge all the repos you see on GitHub then the thing itself like you know truthfully it is not something
specific just for this group of people just for programmers just for coding even >> the tool should ideally fit do how you
think your preferred input like input method. So like we as designers we love
method. So like we as designers we love pictures.
>> Yes.
>> We think in 2D space sometimes I draw like little boxes to convey my ideas.
Sometimes it's like a high fidelity mock. Your PMs are just like doing their
mock. Your PMs are just like doing their specifications setting the constraints in text but longer not like a short chat prompt. And then the coders maybe
prompt. And then the coders maybe they're like they're also building some prototype trying their their idea. You
can actually unify all of these different inputs.
And then you can also create an interface because we're like an interface that adapts to people that is not stuck in what the designer had in
their mind for that one specific problem. The interface can adapt. It
problem. The interface can adapt. It
changes based on what you do, based on who you are. If you're a single person, if you're working with a team, with a big team, the kind of things you do, the
piece of like the piece that you care about, the the form that you prefer, like if you like the terminal, you like doing CLI stuff, that's fine, too.
>> Yeah, >> I think it's fine.
>> Or maybe you're on the phone. I'm just
checking out like >> I have some random idea, I want to kind of just try it out.
>> That works, too. But they all talk to the same agent, the same underlying structures.
>> And cursor becomes this like lingua franca that sort of exists almost like a new type of state machine, some sort of new surface in which people with
different languages, different ergonomics can work on a common system and common sets of agents supporting that system.
>> Yes. And we're kind of already doing that right now. But the world doesn't give us like one thing that ties everything together.
We're all speaking with our own separate tools and agents.
>> Right. What is it? What is going to be the unifying element there? Because in
some respects, >> part of human nature and human folly is that we create pattern languages to explain the world.
>> And and I love the examples you gave for like the PM with the PRD or the designer with the canvas tool. For me, like I love analogies. I feel like analogies
love analogies. I feel like analogies are like um yes, another form of ergonomics. Sometimes you can arrive at
ergonomics. Sometimes you can arrive at a deep understanding of something with a really good analogy. You can also deceive yourself with a really good analogy that's uh poorly applied. What
is the the unifying substrate then that cursor is going to start to enter? And
what is the kind of designer or the kind of design team that you need to to build or assemble to explore that opportunity space and and find the answer,
>> right? Like I see the unifying medium as
>> right? Like I see the unifying medium as code and you're trying to kind of draw like arrows there instead of them
thinking, "Oh [ __ ] I need to learn this completely new thing and then figure that out." How do I kind of keep my
that out." How do I kind of keep my habits, keep my strength, all the years of figmaing that I've done? Like, don't
throw those away. But with this new thing, you can be like a hundred times more productive. you can do a lot more than
productive. you can do a lot more than you just you were doing before because the agent kind of covers the parts that
you might not do well or maybe you're just starting to learn. One of the things I feel as has made you a firstofind designer are these smaller
environments and there's something um almost uh cosmological about it that I love. You've created Rio OS as like a as
love. You've created Rio OS as like a as a working example, but really as an environment in which you're using cursor, feeling cursor, seeing its capabilities in practice, but also in
some ways like inspiring cursor, right, >> in a new form factor.
>> You've built mini cursor.
>> Baby cursor.
>> Baby cursor. That's right. Baby cursor.
You've built baby cursor, which is like a a different representation of the same system.
>> Uh it's like a in some ways it it feels like a video game inside of a video game.
>> Yeah. that informs the larger video game. And so there's there's something I
game. And so there's there's something I call it cosmological because I feel like you're now approaching some deeper truth.
>> Yep. Yep. You realize all of these things are actually the same thing.
>> Correct.
>> And like the essence of it is the same, but then as you the environment kind of sets the complexity.
>> Say more about that.
>> You know, the meme is we're a VS Code fork, >> right? So you're already in someone
>> right? So you're already in someone else's world and there are certain things that are hard to change. Then you
need to kind of fit yourself in there.
Figure out a way to do that. And you
know sometimes it is hard to say I just have this idea I want to try but now I need to spin up my backend server the
the API the client. I need to start all the scripts and then the thing that I will make I don't want to care about all of this. All I want to do is to just try
of this. All I want to do is to just try my idea. So you build a simpler
my idea. So you build a simpler environment for that idea to emerge. So
I built baby cursor that looks exactly like cursor but it might have parts that are closer to my ideal. It might feel really real but then it's actually not
>> right. It is just a prototyping
>> right. It is just a prototyping environment for more ideas to emerge and we notice this happen not just at cursor like I talked to people at like ramp notion
they're all like building little prototyping environments for the designers to just have fun and play with ideas there they don't have to care about uh this code has to be you know
merged into production wrapped in like some feature flag and whatever >> right yeah >> yeah less of that >> do you think it just ends being like a a software version of the architects
creating models of buildings.
>> Yes. Exactly what that is.
>> Okay.
>> And then the problem right now is or like even say with architecture or any physical things the model can't turn into the real thing.
>> Mhm.
>> But this time it can actually turn into a real thing.
>> Yeah.
>> We haven't solved that yet. But I feel like that might be a way for people to say build software by building like miniature rise versions where you know
starting from the prototype >> turning the prototype as an input >> into the actual thing you know.
>> Yeah. Yeah. We're coalescing.
>> Yeah.
>> Yeah. And if you look at like history back in the days or the earlier days, nobody told like thinks of themselves as I'm just a designer
>> or I'm just like a programmer. I guess
everyone were were like a programmer in some sense that they kind of do the whole thing. So then what will be the
whole thing. So then what will be the shape of the new designer in in this in this paradigm >> because I feel as though like again I think of you as the original vibe coder.
>> Yeah.
>> When that when that term was coined and took root, right? I know who that is.
They're describing Rio.
>> Yeah.
>> It's him.
>> It's like if you're a designer who thinks designing is just drawing buttons and inputs and making mocks and maybe
like building design systems. you're like a little [ __ ] in a sense that I think even like the models today they
kind of solved a lot of the problems on say implementing these things or even like now the image models can come up with like pretty good mocks.
>> Yeah.
>> Then what do we do then what is important? What's important is actually
important? What's important is actually you need to help people around you and help yourself like see the thing in it
like truest form both like say for now in the present and in the future. What
could it become? What are the things in there? What are the parts of it? Which
there? What are the parts of it? Which
parts do I need to change? What do I need to tweak?
>> Right?
>> But that happens also like at every layer. Maybe you're tweaking the
layer. Maybe you're tweaking the visuals, changing the brand perception, reorganizing the product concepts, updating the flows to reuse the new patterns that we created.
>> Mhm.
>> And you need to kind of do it >> right.
>> Yeah. So you might do it through storytelling, through code, through pictures.
Depends on who you work with, >> right? Like some engineers that I work
>> right? Like some engineers that I work with, they just love mocks. So I make them. But some people maybe they're like
them. But some people maybe they're like they actually just want to explore themselves. Come up with a few options
themselves. Come up with a few options like prototype themselves. Then I'll be like this one is cool. This one maybe we should merge them. We keep keep revving
on it. I I really want to drill in on
on it. I I really want to drill in on something that I've been thinking about a lot, which is I used to think that technology specifically created this egalitarian
push of power. It empowered people to do things on the edges. But with AI, I've observed that there's also this simultaneous concentration of power where like the 10x engineer is now a
thousandx more productive.
And it's almost like a power shift to people who are building in these new ways often empowered by cursor. And I
want to know like if you feel that tension >> or if you feel as though >> you need to make a commitment to one or the other, >> right?
>> Because the answer seems to shape a lot of like the product philosophy on how you think about, >> right? I think it's more like you both
>> right? I think it's more like you both kind of level the playing field and you raise the ceiling at the same time.
>> Say like before it's just like impossible for you to do anything before you like learn all of the >> programming concepts and the syntax
>> how to like run the server D. But now
anyone with an idea can do it. Though
maybe like the first output is a little sloppy like purple gradients. But if you work on it more, iterate on it more as
you see the results, you can make closer to what you wanted. But there's always kind of like like you might not be able to know how how to exactly instruct the
agent with the exact thing you wanted.
And that still requires like knowing what's there, knowing the the language, >> the concepts, being able to read code,
see the diffs sometimes even >> like the more say serious where maybe you're just playing. It's fine to not look when it's like used by millions and
it's like critical you have to. But as
the agent get better, it will also kind of help you do these things. Then more
people get leveled up.
But I think you know for people who have done this for years who have accumulated experience they should also like do their work more
inflow like extract out their strengths multiplying it by like 10 or 100 combining it with other say more special
like specialists or professionals who maybe care more in depth in different domains. merging all of that
different domains. merging all of that together, then collectively you make better software. Boom. You're like already up
software. Boom. You're like already up here. You can do things now.
here. You can do things now.
>> The more you do it, the more you know, the deeper you learn, more capabilities you get, intuition about the models and how to do stuff. I like I noticed some
vibe coders actually do the agent stuff better than some of the more manual coders who haven't, you know, caught up yet.
>> Yeah.
>> Cuz they've built so much with it.
they've formed some intuition on ah this is how I should like break down my prompts and this is the size of problem this model is good at
>> d because you have to build I have to use it to to learn that >> it's a different fluency >> designers often ask me what tools should
I be learning in this new AI paradigm and we know all the current tools and the new ones that are emerging But maybe the answer is cursor.
Why is the answer cursor from your perspective?
>> I think a lot of the other tools are maybe a little too opinionated, too siloed in their layer.
>> Oh, interesting. Say more about that.
>> So like Figma, you're like stuck in the pixels. Maybe the Vzero lovables,
pixels. Maybe the Vzero lovables, they're also kind of boxing you up in the safe area. Whereas like if you do
stuff within that area, it gives you say maybe slightly better output.
>> Yeah.
>> But once you go beyond that, you can't.
But cursor how I want to kind of shape it towards I don't want to force you to do things in a certain way. If you have found your
way, you can keep doing it. Yeah. If you
haven't, you can find your way.
It's like I don't want a tool to be stuck as a code editor because it's no longer.
>> Before this conversation, I never thought of cursor as a like a spirit inside of VS Code, an idea that's kind of emerging, but I I now feel like I have a different
perspective on it. It's the thing that kind of becomes the metal that we try to try to stay close to when we say stay close to the metal and that it doesn't
necessarily have to conform to one set of ergonomics. It can instead just meet the person where they are and that seems to always be like the recurring theme in the design work that you do.
>> Yes. I don't want to force people to change.
I want them to figure themselves out.
It's like I've lived in China, Canada, here. I've seen how people do stuff or
here. I've seen how people do stuff or how people behave and we're all different but very similar. Like each of us have our unique ways of seeing the
world.
>> Yes, >> we're thinking we're telling what we want. I think the best way to kind of
want. I think the best way to kind of like pull the good stuff out of the AI is so that you can express yourself in
the way you do. You're not forced to learn another language. You're not
forced to uh study my concepts.
This is the way to do things because that's never true. The way changes and it's unique to you. And even like say when you're just doing stuff
yourself versus you're doing stuff with your team, it changes.
>> People find their way together.
>> Where do you think the way leads for you? Cuz when I was running design at
you? Cuz when I was running design at Dropbox, >> I was not imagining myself as a full-time investor
or a father to a teenager. You know
there's a you have murky ideas of where you might end up when you sort of look at your golden thread through the present. Where do you hope it takes you?
present. Where do you hope it takes you?
What are you building towards software?
>> Maybe just with this. Then I'll figure out what's next. I'm not sure.
>> Super. Well, I appreciate you leading the way by example every day in public and inspiring me and so many.
>> Thank you.
>> Thank you.
>> This is First of Kind, a new series about design and tech told by its pioneers. Sponsored by Framer, Cursor,
pioneers. Sponsored by Framer, Cursor, Verscell, and Profound. Follow us on X, YouTube, Threads, Spotify, and Apple Podcasts. The future belongs to
Podcasts. The future belongs to designers who build.
Loading video analysis...