Intro0:00
Hello, hello everyone.
Welcome.
I want to start with saying I haven't written a single line of code this year, and maybe I haven't even looked at most of it yet. I do ship. I have a product I built that thousands of people use and trust with their email inbox, which is amazing.
I'm actually proud of the code I ship, and I'm proud of the product I ship. I've been doing this for 2 years and trying to extract my thinking and my taste into a system that compounds, and I'm going to share with you how I do that.
Lots of stuff you hear is like, "Oh, you should use this," the factory, dark factory, do this, blah blah blah, all the new, hot, hip, cool things. What I'm trying to do is not that today. I'm going to just show you how I work, and hopefully share something that you can bring to your workflow that will outlive trends and really set yourself up for success for newer models, bigger models.
There are two halves in this talk. One is why it's so important to compound, how I got here. So this is for people that maybe are not at the end of the trajectory. It's interesting to see how to get there.
And then stuff you can run yourself. You can use day-to-day to ship, to build, to research, to do knowledge work even. Hello, I'm Kieran. I work at Every. Every is an AI lab for the future of work, and we ask ourselves the question, "What's next?"
And we write about it, we teach about it, we build. And we have a studio
where we have mostly single engineering teams that take a problem they really care about and use AI to build a product out and really leverage that. And compounded knowledge is a big way we do that. Lots of loops, shipping faster and faster.
And Cora is mine, is where I invented compound engineering, and it's a complete AI email inbox. It's agent native, so that means whatever you can do, the agent can do. It runs on your desktop phone, CLI, insights, codecs, like MCPs, and I'm rebuilding it as version 2.
Building alone2:52
So soon beta access. If you want access, just DM me, talk to me. The cool part is it's one engineer, and I have support. I have design support, I have some database hardcore engineering problem support. You need some support.
But I built a full email client alone, and I've only started building this in January, this new rebuild. I use Rails on the backend, I love Ruby, React on the frontend, and I own product fully. So I talk to people when something goes down, I'm the one responsible.
And it's set up like this on purpose. I'm an ex-VP of engineer and founder. I know how to hire, grow teams, all that stuff. But I wanted to do the opposite. With Sonnet 3.5, I just felt there was something new that was unlocked, and I wanted to see how far can AI go before I actually need to grow the team.
And I'm still alone with some support, which is cool. So I built Cora, and this is what I learned.
Two years ago I started, and the bottleneck by then was code. So it kept moving. My job changed over the years, but first there was bad code, hallucination, just stuff that didn't work. I added agents, I added skills, just reviewing it.
Bottlenecks4:06
So, okay, code got good. The plan was the bottleneck, because I could do things, but larger things. So whenever I have a good plan set out, it would do bigger things than just code changes. Okay, plans got good.
The next bottleneck was deciding what to build. Talking with users, really understanding problems you're solving. This is why it's so good that you use your own product, you love what you're building for. And
that got really good as well. The scope got bigger, AI could help writing plans, and I kept repeating myself, and that was annoying. So I figured out there needs to be some kind of memory system. So every time I repeat myself, I can say, "Hey, can you make sure to store this knowledge in some way?"
I started with storing this in Claude MD, but at some point that became too large. So I built a system that remembers. And that's really where compound engineering came from. And you see me go away from typing, more towards judgment and taste.
And I think implementation is mostly solved, even though you see many people that do orchestration, dark factories, whoa. It kind of works, which is cool. But the thing that doesn't work is our judgments and our taste. And for me, it's really where do I turn my brain on versus when do I leverage the model.
And it's where you make judgments and where you add taste. So where you think, where you iterate, where you jam, where you brainstorm, I extract that into a system. And if it's extracted into the system, you can move on to bigger problems.
Because the next time the AI will come up with a brainstorm, it will already include that thinking, so you can go on for the next one. And I see that one engineer with a compounding system just beats teams.
Like full teams that use AI that don't.
The loop6:38
This is my loop.
There's more to it than this, but this is the overview: brainstorming, planning, working, reviewing, polishing, compounding, and repeating. And the real trick here is on both ends. It's kind of the human-AI sandwich, where the human is the bread and the AI is the middle part.
And the brain is on the ends. So the start, brainstorming, where you have to decide what to work on, what the problem is, and really understand what you're trying to do. And at the end, where your taste comes in, where you decide, "This looks very good, makes me very happy," or, "We need to raise the bar, we need to do better, we need to make it more snappy, we need to go optimistic," or whatever that is, like delight.
And throughout here, especially in the brain-on parts, it's important to extract the learnings to compound. So that's basically the loop. You cannot run the middle if it's not set up correctly. And it's very important to be able to let go and let the machine rip overnight for many hours in parallel.
And the only way to be able to do that is making sure you spend time on that system. So my rule is 50% should go into creating the feature. Just making sure, like, did it build the feature, did it deliver the value you set out to do.
Teaching & tokens8:09
But 50% of the time should go to teaching the system for anything that it did wrong, "Can we learn something? Can you teach the system something?" And this is something that is kind of hard, but it's very important because it will make the next time better.
One bonus is, because of this extraction, I store all of this knowledge inside my repository as solution documents. And people say, "Oh, but tokens." And in my research, it's actually more token efficient because if you have theright answers and theright solutions already within the token, you don't need to do review, you don't need to correct, you don't need to do deep research across the internet because the tokens are already there.
So it's actually more token efficient in the long term, which is cool. Less research, finding things faster. The real reason why this works is my brain is fixed and AI isn't, or less fixed. And my philosophy is keep extracting until the complete middle runs itself and is so freaking good that it will surprise you.
Plugin9:24
Let me show you how this works. So I have a plugin called the Compound Engineering Plugin that you can install in whatever tool you use, Codex Claude Code Cursor, plus 10 others. And I just built this while building Cora.
I shared it at some point, and now hundreds of thousands of people use it daily. So thank you all for using it if you did. I'm honored. I never decided this should be something like hype. It's just me using my plugin, shipping code.
You can install it wherever. You can also create your own version of this, which could be just storing information in files, however you do it. But let me show you the plugin. So compound engineering became compound product as well.
I have a lovely co-contributor, Trevin Chow, who has a very good product sense and product background. So he brought a lot of product thinking. And I think compound engineering is really for engineers, PMs, designers, even people that do knowledge work within Every love to use compound engineering.
It's such a universal concept of compounding knowledge. It doesn't have to be used for engineers, but that's where it came from me. So the first demo is,
it's here to activate your brain. So this is called CE Ideate, and you can run it. And here I run it in, it's maybe a little bit small, but I say, "Hey, I have Cora version 1, I want to upgrade people to version 2, come up with," oh no, actually, this is, "Look at all my open tickets, tell me what to do next."
Ideate10:46
It's a great command. It will just go through all your issues. And you can link linear, open source issues on GitHub, Slack, Intercom. What it will do is it will generate structure from all this mess and will make arguments about what is good to work on versus not good to work on.
And the cool part is it will reason about this. And the output here is a clean HTML page that you can share with the team that you can be inspired by. So this is generation of ideas. And the cool part is you can point it to your OKRs, you can get ideation aligned to your strategy, and that's kind of how it compounds.
So if you have past experiments or past learnings in your repository or a strategy document, which you can create with CE Strategy, it will score these ideas against this knowledge already, which is really cool. And I've seen people dump this document inside Claude design and say, "Create a PowerPoint."
And you get a beautifully designed PowerPoint with like XY matrix of where the sweet spot is for what to do for your OKRs, which is very low effort for you and very impressive to bring to your team.
Doc review12:24
Next one is a very simple one. It's called CE Doc Review, but it's very useful. If someone hands you a PRD or some kind of document, run Doc Review on it, and it comes back with very sharp questions.
I always like the questions. I'm like, "Oh, that's a good question. I did not think about it." So either you relay this to your colleague or you ask them to answer. You can then compound that knowledge after answering with CE Compound so that the next time
this answer is already baked in and it wouldn't ask you, it would already know the answer because it's already embedded in the system. You can share this with people. You can say, "Oh, you can actually run this yourself as well."
This runs anywhere, so you can do it in cowork as well. It doesn't need to be in Claude Code. It's a very simple thing that we spend a lot of effort in to make very good, and it's part of our flow.
This is my most used one. It's when the idea is too big to describe. So this was the example of Cora version 1 to version 2. I say, "CE Brainstorm." This is a brain-on command. I know I need to get into the zone.
Brainstorm13:21
I block off time. I'm not going to multitask or anything like that. And I run this. So it pulls in compound knowledge. It looks at the difference between Cora 1 and 2 and looks at the personas I've set up.
So it will see, "Hey, certain people need certain things." And it will ask me questions. And it doesn't ask me a lot of questions. It's dialed in to ask you just theright amount of questions it needs to do the work.
It's very easy to get 30 questions and feel, "Wow, I did so much." But in the end, the goal is not to answer questions. In the end, it's to get the absolute best work out of it. And I think other libraries might over-question.
I think there's a balance to be found there. So out comes a plan, a brainstorm document, stored, and compounded. And then my favorite, which is /LFG, which is basically the loop, the automation loop. And if you like vibe coding, /LFG something is great as well.
Autopilot14:22
It will run for hours. It will do planning, work, review, testing, opens a PR. It will dogfood, it will try to fix things. It will then do a before and after video screenshot in the pull request. Makes it super easy for you to then see what happens.
Polish15:02
Last, if it comes back, so this is overnight, you can do parallel. There's polish. This is the brain-on again. CE Polish, you give it the pull request. And what it will do is it will show you, so I like to run it in cursor.
And on the left side, I like to run this and it will tell me, "Hey, this was introduced with this LFG flow." And on theright, it will show the product. This is important. Sometimes I don't even know what was built because I also have video recordings that I dump into LFG that it will then process and analyze and see what went wrong.
So sometimes I don't even know what it was solving for. So it's a good primer to know, "Okay, this is what we are, where we are, this is what it's solving, this is how I solved it, and you tell me, what do you think?"
And this is not QA. This is raising the bar. It should work. If it doesn't work here, your LFG flow failed. But you can see here, this works only in this example, there is a mark of a logo mark twice, which is not technically wrong, but I don't want two marks on one page.
So in this case, I can say, "Hey, there are marks, two marks here. Can we just make sure we only ever have one?" And run CE Compound. So it will extract that knowledge, make sure next time when I do design work, it's tagged correctly.
It will find that file and know not to do that. So that's closing the loop. You merge it and you learn something.
So why does compound engineering resonate with people? I think it's not a very new concept. It's just something, how we do software engineering. It's just now, instead of working with teams, we use AI and we leverage that. And AI is very good at specific things, especially with large amounts of knowledge and doing theright thing, especially with layers models.
Takeaways16:35
So if you want to do this yourself, if you don't want to use my plugin, make sure to extract. Never repeat. If you see yourself repeating yourself, make sure to extract it somehow. Make sure it doesn't happen again.
Make sure that there is a middle that can run without you, that does the planning, working, reviewing. And it should be boring. It should just work. You should not be needed. If you are still needed in the loop, spend time on the middle, do it manually, feel where it's off, and iterate until you can actually let it go.
And if you are at a point where you just run something and it runs for three hours and it's always good, you know you're there. It's important to document the thinking, not the code. This is also very anti-developer-y.
It's like, "Yeah, but documentation shouldn't mean the code." And the code is the artifact itself. But I am of the opinion to generalize. You need reasoning behind why you did something. And all these traces, even though they're bad, could lead to things like, "Hey, something happened.
Write a postmortem. What decision was made by whom or what agent that led to this? Can we then turn that into a learning so we change that behavior for the next time?" And I've seen it work very well, especially with postmortems.
And again, every interaction, spend 50% of your time to make it better the next time. So make sure to build a system that will remember instead of, "Was this good?" Make the system better and make the system know.
And I know it's hard. It's just hard to do for myself. And we all know we need to do it, but it's kind of awkward. And it's like, "It works. It's great. Let's just move on." But it's very important.
And you can see the system really go if you do that a lot.
So the bet is implementation is only getting cheaper and judgment is not. And the future models and systems need to be set up so they have access to this judgment that we have, our taste, to have more leverage.
So that is the bottleneck. And remember, brain at the ends. Really activate your brain. Make sure you really understand what you're doing in the start. Don't offload the thinking to the AI. Make sure you truly feel understand what you're doing, the problem.
Let the AI go and at the end, raise the bar. Make sure you don't fix things. It should be very good at the end, but make sure to raise the bar because we're not shipping shitty code. And your standard should be the next feature should be easier because you shipped this one.
If the next feature is harder because you added complexity, which is normally how engineering works, we're flipping that. The next feature should be easier to build because you shipped this one.
I'm Kieran. Check out the plugin. It's open source. Please contribute. PRs welcome. I love PRs from everyone. Go build your orchestration system. Go build your personal knowledge base that compounds. And thank you. I'll be hanging around if you have questions and enjoy the rest of your day.





