The Pragmatic Engineer - The creator of Clawd: "I ship code I don't read"
Episode Date: January 28, 2026Brought to You By:• Statsig — The unified platform for flags, analytics, experiments, and more.• Sonar – The makers of SonarQube, the industry standard for automated code review• WorkOS ...– Everything you need to make your app enterprise ready.—Peter Steinberger ships more code than I’ve seen a single person do: in January, he was at more than 6,600 commits alone. As he puts it: “From the commits, it might appear like it's a company. But it’s not. This is one dude sitting at home having fun."How does he do it?Peter Steinberger is the creator of Clawdbot (as of yesterday: renamed to Moltbot) and founder of PSPDFKit. Moltbot – a work-in-progress AI agent that shows what the future of Siri could be like – is currently the hottest AI project in the tech industry, with more searches on Google than Claude Code or Codex. I sat down with Peter in London to talk about what building software looks like when you go all-in with AI tools like Claude and Codex.Peter’s background is fascinating. He built and scaled PSPDFKit into a global developer tools business. Then, after a three-year break, he returned to building. This time, LLMs and AI agents sit at the center of his workflow. We discuss what changes when one person can operate like a team and why closing the loop between code, tests, and feedback becomes a prerequisite for working effectively with AI.We also go into how engineering judgment shifts with AI, how testing and planning evolve when agents are involved, and which skills and habits are needed to work effectively. This is a grounded conversation about real workflows and real tradeoffs, and about designing systems that can test and improve themselves.—Timestamps(00:00) Intro(01:07) How Peter got into tech (08:27) PSPDFKit(19:14) PSPDFKit’s tech stack and culture(22:33) Enterprise pricing(29:42) Burnout (34:54) Peter finding his spark again(43:02) Peter’s workflow (49:10) Managing agents (54:08) Agentic engineering(59:01) Testing and debugging (1:03:49) Why devs struggle with LLM coding(1:07:20) How PSPDFkit would look if built today (1:11:10) How planning has changed with AI (1:21:14) Building Clawdbot (now: Moltbot)(1:34:22) AI’s impact on large companies(1:38:38) “I don’t care about CI”(1:40:01) Peter’s process for new features (1:44:48) Advice for new grads(1:50:18) Rapid fire round—The Pragmatic Engineer deepdives relevant for this episode:• Inside a five-year-old startup’s rapid AI makeover• When AI writes almost all code, what happens to software engineering?• Why it’s so dramatic that “writing code by hand is dead”• AI Engineering in the real world• The AI Engineering stack—Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com. Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe
Transcript
Discussion (0)
What if you could merge 600 commits on a single day and none of it was slop?
This is what today's guest, Peter Stringberger, the creator of Claude bought, claims he's doing.
Peter is a standout developer who built PSPDF kit, the PDF framework used on more than 1 billion devices.
Then he burned out, sold his shares, and disappeared from tech for three years.
This year he came back and how he builds and what he's doing now looks nothing like traditional software development.
In today's episode we cover why he no longer reads most of the Cote he ships and why that's not as crazy.
as it sounds.
How he is building Claudebot, his wildly popular personal assistant project, which
feels like the future of Siri.
The closing the loop principle that separates effective AI assistant coding from frustrating
vibe coding.
Why he says code reviews are dead and PR should be called prompt requests, and many more.
If you're interested in how the software-induced workflow could change in the coming years
thanks to AI, this episode is for you.
This episode is presented by Statsig, the Unified Platform for Flags, Analytics
Experiments and more.
Check out the show notes to learn more about them.
the Pragmatic Summit on the 11 February and San Francisco that I'm hosting with them and our other season sponsors.
All right, Pete, welcome to the podcast.
Thanks for having me, Gagay.
It is awesome to meet you in person.
Yeah, and I almost messed it up.
Yeah, what happened?
You lost track of time.
Does that happen often and how so?
Not usually.
Not usually.
This is an interesting time for me because my latest project is blowing up.
Claude, right?
Cloudbot, yeah.
Cloudbot.
I'm struggling a bit to get enough sleep, but it's interesting.
I never had a community blowing up so fast, and it's just incredibly fun to work with.
So before we get into CloudBot and all the fun stuff you're doing, I want to rewind all the way back.
You create a PSPDF kit, which is used, I think, on more than one billion devices, users.
If you see a PDF render, you probably see that.
But even before that, how did you get into tech?
Oh my God, how did you get into tech?
So I'm from rural Austria.
Always more being the introvert.
So eventually I, we always had like summer guests.
And one of them, one of them was a computer nerd.
And then I kind of got hooked with, like, the machini head.
And begged my mom to buy me one.
And ever since then, I, this was in high school or so.
I guess I was 14.
Yeah.
And ever since I started tink.
I can remember the earliest thing was like I stole an old DOS game from my school
and then wrote a copy protection for a floppy disk so I could sell it.
It took like two minutes to load.
I was just always sinkering, also playing a lot of computer games of course.
But like building stuff almost feels like playing a computer game.
Like definitely right now it feels better than Victoria.
When I started out, I read like the equivalent of Bash script.
for Windows, and then I did like websites.
So I guess a little bit of JavaScript,
even though I had no clue what I was doing.
And then the actual first language
where I had to learn how to build things
is when I started university.
And I never met my dad,
and I come from a poor family.
So I always had to work.
I had to finance my own studies, right?
So when other people were having holiday,
I just worked full-time at a company.
So the first real job I had was in Vienna.
It was supposed to be one month.
And then they kept me for six months.
It was just a bridge between military and my university.
And I kept working there for like, I think, five years.
And I remember the first day, they gave me this huge book.
Well, maybe that huge.
And so it's Microsoft MFC.
I still have nightmares.
And I got like, I was like, this is terrible.
Like for the next win, I just, I just silently used dot net.
I just didn't tell them.
And like a few months in, I just thought, yeah, about the tech stack, I did a few modernizations.
But then it was too late.
I did this a few times in this company.
I don't know why they kept me.
No, because my shit worked.
So I did dot net.
And actually, I actually dig it.
Dot net 2.0 had like generics.
It took insanely long for the application to, to, to, to,
to launch because everything was compiled at first start.
And like your hard disk was like,
if you remember.
So, so you,
how did you stumble into both iOS and where did the idea from PSPDF
have come from?
Not even,
yet the first one.
The first one wasn't even available in,
in Austria,
yeah.
A little time goes,
went on and I was at university.
And a friend showed me the iPhone and I,
I think I,
I touched it for a minute.
And then I immediately bought one.
Like,
like this like it it clicked when i felt it and and to me this was like a holy f moment
because it was just like so different and so much better so i got i got one i was still not
thinking about building for it you know that was what one was this 2009 10 something like that
yeah yeah and then i i used their browser i can see the story i was i was literally driving in the subway
and by the time I was using a gay dating app
and this was iPhone OS 2
Yeah
So I'd
One time ago
I typed this long message
I pressed send
And we were just going into a tunnel
And the JavaScript disabled the send button
And then an error message came
But there was no copy paste
There was no screenshot
So it was just like
And I couldn't scroll anymore
Because like scrolling was disabled
So like this long message
Was like a little bit emotional
Was gone
And I was so mad
I was so mad
And I'm like, what the hell?
I went home and I downloaded X code.
That's where the window came and I was like, where is the ID?
So I was like, I was like, this is unacceptable.
I basically hacked the website.
I used regular expressions to like download, to parse their HTML, which is like totally
not something you should do.
And I built an app.
And I used, I used iPhone OS3 beta with like core data in beta, regex kit light.
I used a hacked version of GCC
that backported the blocks compiler
so I could use blocks in iPhone OS3
it took me quite a while
until anything worked
I had no idea what I was doing
and I was like using all kind of like beta tech
but eventually I got it to work
and I wrote that company
like I'm making an app
what do you think about it?
Got no response of course
so I was like
it's just putting in the app store
and this was for the dating app right?
Yeah so you just like
you know you looked at
you saw their APIs
You could just easily build a client on top of...
API.
It was HTML.
Oh.
I was just literally parsing HTML.
Oh, so you kind of parsing HTML, kind of turn it into your own, you know, like, use it as an
API.
Clever.
I mean, this was back in a day where no one thought this would happen, but...
I made...
I put it in the app store.
I charged five bucks for it.
And I made like NK in the first month.
And I had no clue what I was doing.
And there was like so many complex tech stuff, this was very early on that there was a lot of
weird forums on Apple.
So I just put in the bank account of my grandpa.
And then one day my grandpa called me,
yeah, something is weird.
Like I got this huge payment from Apple.
I'm like, this is mine.
This is mine.
Don't touch it.
But the funny thing was when I, this blew off.
And I remember I was in the club one day.
And I saw someone using my app.
And I was so proud.
And I wanted to like tap him on the shoulder and say,
I built this.
And I thought like, really weird.
So it didn't.
And then I went to the company I worked for five
and told him like, I'm going to pursue this.
This is, this is really exciting.
And my boss was like mocking me.
Oh, really?
Like, oh, you're making a mistake.
This is a Fed.
This will not go.
Blah, blah, blah, blah, blah.
And the way that got me,
that's what you call you a chip on your shoulder.
I'm like, you know, one day,
I'm going to have a company that's worth more money than yours.
Why it took me eight years?
So I got hooked.
I worked.
I'm a little bit of an addictive personality
which you see again right now
but I worked a lot on this app
I learned in high speed
and this was also the time where I started Twitter
and that was usually hugely influential
for my career.
I made this app actually quite good
and then one day
I was at a party at 3 a.m.
slightly intoxicated
and I got a call from my US number
the guy on the phone was like
yeah hello this is John from Apple
yeah there's a problem with your
application like some people reported pictures
and that was it that was
the end of my app
it was a good until a bastard
and I was just I just quit
my job and was like
well
F you Apple
I did freelance work I was at
Dubdub I was introduced
to
dub dub being dot dot DC
yes
Sorry for the insider terms
I was introduced to someone as one of the best
iOS developers in Austria
at a bar at 2 a.m. in San Francisco
and I'm basically got a job in the US
and then I moved to the US for a while
and then I went to the Nokia development days
and it's all like Stone Age by now
oh my God and then someone came up to me and said
yeah they built this app
somewhere in Eastern Europe
and it works but it crashes
sometimes and it was like
It was like a magazine viewer, right?
It was back when the iPad just came out
and Steve Jobs said that like,
this is the savior.
So everybody was building magazine apps.
And I was like,
that sounds like an interesting short-term gig.
And I was like, okay, I'll help you out.
And I opened the app and it was like,
oh, the worst code of,
the iOS that I've ever seen in my life,
it was literally one file with like thousands of lines.
of objective C
Yes
where they used
Windows as tabs
I didn't know
it worked
I didn't know that's work
I was surprised
it worked at all
but it felt like
a house of cards
and I tried to
I tried to
surgically fix things
but like
as soon as you
touch something
something else would break
so I got it
I got it somewhat
stabilized
and told him like
look this is
this is like
madness
I'm gonna
really like this for you
yeah but it took
half a year
I'm gonna do it
in a month
well it took me
two months
I wasn't that far off
and then here I was working on a PDF viewer
you know on every technical problem
the domain is
I wouldn't say like completely unimportant
but you can always find interesting problems
in every domain
and that was a lot of interesting problems
because you had a C-call
that would render a PDF
that would maybe take 30 megabytes
but the whole system had 64 megabytes
so if you're not very smart
and like a very careful
what you do in the background and when,
the OS would just kill you.
I got really fixated at making it good,
like when you rotation is,
like the page would like animate.
So, you know, I like those details.
I spent way too much time on that.
That's why it took two months instead of one.
But the end result was, it's good.
And then I worked with STEM fire a while
and then a friend texted me up.
It's like, yeah, I'm working on this magazine up
and it's really hard.
I'm like, no way, it's hard.
I know.
Like I did it.
You just built one.
And he was like, can you, can you,
can you get me the code?
I'm like, sure.
So I sold him, like I extracted the part that was PDF
from this magazine app.
And I made sure, I made sure like the other person was okay.
And then I sold him that.
I was like, well, if he's interested in that
and why let's not try to tell it to other people.
I used a WordPress template and mutilated it
to run on GitHub pages.
And then when you did the fast-land flow,
at the end you got a Dropbox link to my personal Dropbox
with a source code zip.
And I built this in one afternoon and I tweeted it.
And then in that week, three people bought it.
And it was like, I guess 200 bucks.
But back then and for me, this was like amazing.
And not only I got like three people who just bought it
and like 10 emails, 10 people who complained about it
because they wanted it but didn't have the features they wanted.
You know, it's like, I got nerd snipped.
I was like, oh, I didn't have text selection.
Oh, how hard can it be?
three months later.
Oh yeah, it's really hard.
Text selection in a PDF specifically.
Yeah, yeah, yeah, yeah.
You know the saying, the saying like the companies are built by young people
because they don't know how hard it is?
Yeah, yeah, I had no idea.
What insane madness is file from it is.
Peter was talking about how some problems look deceptively simple.
PDF rendering is a good example.
You look at it and think how hard could it be.
And then you spend months on edge cases that you didn't even know existed.
This looks easy until you build a pattern shows up in other places too.
Internal tooling for feature flags and experimentation is a classic example.
Teams often underestimate how much work it is to build infrastructure around these tools.
There's a reason big tech companies like Uber invested years into building internal, experimentation, and feature flagging systems.
Which brings me to Statsic, our presenting partner for the season.
Statsic gives you the complete toolkit without building it yourself.
You get feature flags, experimentation, and product analytics all in one platform tied to the same,
underlying user assignments and data.
In practice, it looks like this.
You roll out a change to 1% of users first.
You see how it moves the top pipeline metrics you care about,
conversion, retention, whatever is relevant for the release.
If something goes wrong, instant rollback.
If it's working, you can confidently scale it up.
Companies like Notion went from single digit experiments per quarter
to over 300 experiments with Satzig.
They shipped over 600 features behind feature flags,
moving fast while projecting against metrics regression.
Microsoft, Atlassian and Brex use Static for the same reason.
It's the infrastructure that enables both speed and reliably at scale.
Static has a generous free tier to get started, and ProPricing for Team starts at $150 per month.
To learn more and get a 30-day enterprise trial, go to Statsic.com slash pragmatic.
And now, let's get back to Peter and why rendering PDFs was a surprisingly hard problem.
But now, I remember, there was a few weeks ago, someone emailed me.
They did something PDF when they wanted my help.
And I just wrote him like, I'm sorry, like I did my deed.
I know more about PDF than any sane human person ever should know.
And I went to therapy.
Good luck.
But that took off.
And I just, I, well, I was waiting for my visa.
I worked on this project.
And it just kept on, more people kept on buying it.
And, you know, it was like, it was like summer.
I was, like, lying at the lake and I got another email that someone bought it for 600 bucks,
$800, $800.
bucks were just up the prices as it had more features.
And by the time I went to San Francisco to work at this company, it already made more than
what I made there.
But my whole life was, I still thought like I have to be there, you know?
So I did it.
And also interestingly at this company, I had to use.
So what we say did it, you move to San Francisco?
Yeah.
And of course, also it ended up being something where I had to build something with my framework
at that company too.
but you know startups are not like eight hours a little more
and my personal project was also a little more
so my sleep was a little less
and then eventually after three months
Sabine my manager came over and said this
Peter are you okay
and they gave me a choice to either
keep working at this company and drop my project
or vice versa
and I had one week to decide
the counter was one week to
stay there or leave the country
because I was on a
complicated visa
and
but a decision was quite easy
is like yeah I want to do my own saying
and then at this point it was already taking off
you already saw that this is
there's a big business here
it will probably pay you as much
as your US job would have paid
that's never money driven
it was more about what were you driven by
I want to make
stuff
that other people
find amazing
like I
I love
tweaking the details
I love those little delights
it wasn't even that the space
there were competitors in that space
but my angle was always like
I built something as if Apple
would have built it
like with like all the love
and care
and polish
and those little delights
that
a lot of people in the industry
don't get
so even though we had
competitors that had Vimo features
and were
round way longer, my company was more successful and my product was more successful.
Because developers tried the different ones and mine just felt the best.
I think soft is all about how it feels, much more than the feature set.
Like, why do we buy Apple stuff?
He hasn't more features than Windows, but it feels better.
So how did you go from like, you left this company and you were building this PDF component
that started to sell.
At what point did you hire the first person,
realizing, okay, there's something more to this?
When I went back to Vienna,
then I was like, okay, I have to go all in.
And that's where I started working with freelancers a little bit.
And way too late, to be honest, also.
Like, I could have hired much earlier,
but, you know, it's a big step.
And that's kind of where it started having a life of its own.
And I spent pretty much 13 years of my career.
building this product with this weird name that I never changed
because it took me like, I saw like five minutes about it.
And then it stuck PSPDF kit.
PSPDF kit.
They finally did a rename.
But I wouldn't have, I wouldn't have renamed it.
But now it's a mouthful, but it's very unique.
Well, you get it if you do Objective C because it's just a namespace.
Yes.
And by the time it made perfect sense.
My marketing, my strategy for marketing was always, I only care about the developer.
Like, I know like upper management does the decisions.
but if I can convince the people inside the company,
they all do the marketing and lobbying for me.
That worked really well.
We never did like cold, cold emails or aggressive.
It was all inbound.
All we did was like make good stuff
and write inside full technical blog posts.
And I went to a lot of conferences.
Like for me, important it was, okay,
if people understand that the people who built this product
are like, know what they do,
and love what they do,
that reflects on the product.
And that worked really well.
And then what was the text type behind PSPDF kit?
Was it Objective C?
Was it later SWIF?
Were there other technologies like C or anything else?
We eventually expanded to all the platforms.
Big Shift was the switch out Apple's renderer,
which was NES is still quite buggy
to like a big C++1.
Then we used across all the frameworks.
We were really early.
web. We were one of the first PDF frameworks that ran in WebAssembly. And I did the most
clever thing that it was the very early days when WebAssembly was just taking off. And we built a
benchmark. And that benchmark was eventually used by Google and Microsoft and Apple. And I basically
all this company is like working really high and making my renderer faster. Because they used
their benchmark as one of their benchmarks and the benchmark was just like rendering our stuff
with our shit. Nice. And then as a company grew, one thing that I
remember a PSPDF kit. You did write a lot of blogs in one blog in 2019. So this was about like,
I think, you know, year nine or 10 in the company. It was about how the team worked. And you mentioned
things there like every feature starts with a proposal. You mentioned that you are conservative
because it's a big API that people use. You want to be careful. Things like the Boy Scout rule to
refactor. How did you kind of put together the culture of this now, this team, which was now,
closer to 30 or 60 people.
You were actually 70 when I sold my shares and now it's almost 200.
And I knew right from the get go is like, I'm not going to find the people that I need in Vienna.
So it was always just like remote first.
And eventually we landed up with some kind of hybrid model, which made things a bit more complicated.
I learned a whole lot on the go.
Like I never had to urge to be CEO.
I always was coding.
I brought people in to people
that helped me a lot with other parts
and on the business side.
I can do it and I think I'm quite good at it
but just don't enjoy it.
Like in on sales calls
where you have to think of all the magic number
how much it would be worse
because that's how enterprise works.
Ugh, worse.
Peter just said,
ah, the worst about enterprise sales
because selling to large companies,
enterprises, is as tricky as it gets.
Not just because you need to
pricing right, but because of all the enterprise features that you need to build.
And this leads us nicely to our season sponsor, WorkOS.
If you're building with AI agents or automation tools, here's a problem most teams don't
think about it first.
Once an agent can take actions on your behalf, you need to control what it's allowed to do,
and traditional auth just wasn't designed for that.
That's why WorkOS introduce MCP auth, which gives teams a way to authenticate AI agents
with explicit permissions, audits ability, and enterprise-grade security.
Instead of sharing overscoped API keys,
you can define clear boundaries for the data that agents can access
and the agents they can perform.
If you're building AI power features
and want to shift fast without compromising security,
check out Workoos.com slash MCP.
And with this, let's get back to Peter and Enterprise pricing.
But there's also the only thing that really works on a model like this.
Yeah, you mean enterprise sales specifically, right?
Meaning custom pricing.
So can you sell us for, you know, devs,
listening who go to a vendor's website and they're frustrated that there's no
price it says call us or schedule meeting why that is oh that's that's why because we're
going to look at your company and then just take the dice and think about the number that
you're probably willing to pay and that sounds horrible but also when you have a product
where you can't really tear it down to a specific number like it's it makes a difference if
a freelancer contacts us or one of the big fortune 500s let's not say names
Yeah, because the usage will be different.
The value they get out of it will be different.
And charging the same, you would either exclude one or the other.
If I go too low, they're going to see this fishy.
It's like procurement for like 500 bucks, we're not going to even start the process.
And if we target it too high, we're going to lose those people.
So as horrible and unfair, this process seems for some kind of products, it is that it's the most fair way after all.
You know, on software, there is, I would say there's like four axes.
There's like easy and hard and interesting and not interesting.
We were very much in the not interesting and hard part.
If you build something that every developer wants to build, it's going to be a hard sell.
It's a hard sell.
Selling anything to developers is a hard sell.
But if it's too easy or too interesting, good luck.
But if it's, oh, God, I don't want to do this and oh my God, this is hard, that's a good spot to be in.
So I found a really interesting niche
and there were just an infinite number of complex problems.
You need to tell me, tell me one or two hard things about parsing PDF.
How hard could it be?
There's a specification.
I'm an engineer.
I know specifications.
What's so hard on that?
I mean, there was just one example where, you know, like PDF has links.
So like there's like a table of contents and you click on it and it goes to like page 37.
So I built this whole model with the assumption,
oh, yeah, maybe there's like 100 or 400 links in there.
Then then we got this one custom and we like paid really good money.
And then it's like, oh, it takes four minutes to load a PDF.
What the heck, guys?
And I looked at it and it was like a 50,000 page text Bible from Canada.
15,000 pages.
It had like more than 100 links per page.
500,000 links.
My data model completely exploded because my assumptions were off by a number of, what,
1,000.
But by then you have like a mature product with an 8,000.
So like how do you how do you completely redesign the internal part without breaking things for everyone?
Like suddenly everything has to be lazy but before parting 1001 was easy.
But now they were like this was like so difficult to keep it working for people.
I think I spent like two months just on that completely redesigning like the internals and like making sure it's still easy for people.
they don't have to know what we load easy, what we load lazy,
or if you copy the thing,
it still has to like, have to keep some connection.
It needs to keep the references and some of those things.
So I love to do support.
And I think that that was also a confining factor
why the company worked.
Because if you send a ticket and then the CEO replies
and helps you out, that has impact.
And my strategy was always like,
I always used to list in reverse.
because if you send a ticket and you get a reply
within five minute, that's magical.
If you wait one or two days, not much difference.
Yeah.
So yeah, and this was one of the problems
where I worked two months
and I finally got it down to almost like this.
That must have been satisfying.
And that was very satisfying.
And you were writing a lot of the code
or you were involved in a bunch of the code.
I was a big team was now here,
but you were still kind of overseeing it, right?
You're in the details.
I mean, of course, I had a really,
great team and some parts I was more involved. I was always more involved in mobile because that's
where my heart was. But I was always very deep in the tech. And the marketing side, the business
side, I had like Jonathan's help. I had marketing self. I found good people. The thing is if you, like
the blogging and writing about how you solve interesting hard problems will help you hire interesting
people that want to solve interesting problems. This is what I remember at PSPed, get, that your blog
was every noun that it made it to hack and use as well,
but it was just interesting to read,
and I couldn't name, again,
I'm not one into PDFs,
but if I had to say something of PDF,
I would have said PSPDF,
because they're the only ones where I read
interesting, entering blogs about how you optimize or ship
is still there, by the way.
I myself also sometimes ask myself,
like, interesting, do more companies not see this?
Or is the question that you need to be a developer
who's either to see or up there
who just likes doing this and
by the way, did you ever
write this thinking this will be
helpful or he just wrote because
you got something out of it, like putting
out that you solved this hard problem.
I like sharing and like inspiring people.
There was sometimes even conflicts where we were
like, should we write about this? Because it's like a little
bit of secret sauce.
But I just never
listened to those voices too much.
I just, you know,
and there's also like when you
when you write something down
it's this principle of like
you understand it
but then if you want to teach it
you really have to understand it
so to me it was also a little bit like
oh yeah I worked in this really hard problem
and now I want to like
preserve it and like help others
so I got a gig of it
of course I liked the attention
but really
it was this
sometimes I just referenced
a year later to my own post
It's like, yeah, this is a, this is both company documentation.
This is like my own logbook, it's helpful on so many ways.
And a lot of those speaker companies, oh, they put on too much red tape.
There's a lot of developers who don't really like to write.
So I forced everyone once a month, a full day just to write a blog post.
But you gave them a time.
You're like, that day, you don't need to do any of your work, but write something.
Yeah, you have a day to come up with a post.
Days is quite much, actually.
I mean, now it is on a write post,
it still takes me a few hours.
I don't want to dwell too much on like the,
I think that the starting time of the company
is the most interesting.
The growth phase, you get more red tape,
you get more people,
it's much more gardening your product
instead of like doing white hacks.
and more iterative.
So it got a little bit less interesting
over the years
and there was more people drama
because the more people you have,
the more issues there are.
And I didn't enjoy it that much
and I was really, really burned out.
What burnt you out, do you think?
I was just burning too hard.
I was working most weekends.
I tried to shuffle all my material needs.
And you know as a CEO,
you're basically the waste bin.
Because everything that other people don't manage or can do or mess up,
you have to fix.
And it's also quite lonely because you can't openly talk about a lot of things.
I mean, I instructed the company to be quite open.
But still, you cannot be negative.
You have to, even if, even if like really bad stuff happens.
I know that it was like one weekend where my co-founder called me at,
at 5 a.m.
and told me like, yeah, there's this big airplane company
and their planes are down because our software is crashing.
That was a very interesting weekend
until I could like,
I disassembled their app
and did prove that they messed around with outsource code
to triggering a license key fallback
that eventually like cost you should they had.
But that was like a if they saw us company's gone
and more a moment.
and that's just on top to all the additional stress
and there were quite a few of those things.
You can do that for a while.
And I also believe like,
burnout doesn't necessarily come from working too much.
It comes more from,
or at least for me,
when you work on something,
but you don't believe in it anymore,
or you have like too many conflicts.
And we also had a,
we did fight a lot in the team
with like management team.
And by the time I made this mistake
and I thought you have to like lead a conversation.
more democratically.
So that was also something that burned me out.
I wouldn't want to miss it for the world, though.
Yeah.
So, you know, from the outside, it seems you sold your shares, you made enough money to not
have to work again, should you not choose.
And for a lot of people, like, you know, people were starting out their business or one
day wants to start a business.
This sounds like the absolute dream.
Like, this is, I guess, what we know realistically that most people will not make it.
But if you make it, I mean, you've kind of like, I guess, you know, checkbox is done.
you're kind of, it's a little bit if you're like climbing on a wall and you ring the bell,
you're done. And then what I noticed is from the outside again on your blog,
the blog post completely stopped for several years. What did you do in this time?
And what did you learn in this time, you know, before you came back to where we are now?
I needed a lot of time to decompress. I, I catched up a lot on things I thought I missed.
I partied a lot.
there were months where I didn't even turn on my computer
and for a while I just didn't have this feeling
of like what should I do now?
Like I definitely was like
wide border
you're not you're not supposed to
retire so early
or like have so much
have such a good exit that
you never have to work again
that mess with my mind quite a bit
that that was some
that was some hard years
and then in April
I was like, there was this idea that I had years ago
and even a side project that I started.
It was like, yeah, I want to continue on that.
And then after more than three years,
I just sat back to my computer and started hacking again.
But the thing was, this was like a Twitter analytics thing
and it was written in Swift and Swift UI.
Back then I already knew this would have would be so much better
if I would build as a website.
So was this an existing idea that you kind of had at the back of your mind, something, something Twitter.
Yeah, it was just like something I wanted to build for myself.
Yeah.
Because it didn't exist.
And then even three years later it didn't exist.
It still doesn't exist.
It kind of does, but I got a bit sidetracked.
So I went back and I wanted to build it in this web tech.
But web was always, even though to company, the one thing that I looked into the least.
because I had someone really smart
who took care of that side
in the company that I brought in, Martin.
So I never had to worry about it.
That was one of the...
You're not hands on what to react or any of that stuff.
Yeah.
And when I came back, I was like, what's a prop?
You know, that level where you...
And you know, this is like,
this is a trap I see with many developers.
The better you get at one technology,
the hard it is to jump somewhere else.
It's not that you can't do it,
but it hurts so much.
You're like, I can program in Apple's tech.
I can program blind.
But then in that stack, I have to Google the most mundane stuff.
And it just like, it just hurts.
You feel like an idiot again.
Yeah.
And I guess the more experience you have, it kind of sucks feeling.
I mean, I'm sure you say embrace and all that.
But it's not great.
You're not as efficient.
You know that you could be faster, et cetera.
Yeah.
So I came back and I was like, gosh, there has to be.
There has to be.
What is this AI?
What is this AI stuff that people are dismissing?
Let's look into this.
And in April, a lot of us were dispensing it, probably for rightfully so.
And I, to a degree, I credit those three years where I basically didn't turn on my computer.
Because in those years, you guys checked out AI and learned that it's crap.
Yeah, the people who, like, as I was about to say, so you messed out on, you didn't do the beta of,
GitHub co-pilot, you know, glorified
autocomplete, which is GPC3
or maybe not even. There was
then, of course, 3.5, which is a big
jump, and it got incrementally better than
GPT4. And so by the
time you came back, what tool did you first
use when you, because you missed out on
like two years of like
as devs using, dismissing,
finding some niche use cases
for it? Oh, Clot code?
So you start with Clot code.
It came out of May, but there was
a beta beforehand. Yeah, yeah, as
I think they had something, didn't they have something in February already?
They had a beta from February, correct.
Yeah, so.
So, so.
So, Clock code was your first, you come back after like, you know, hiatus and you immediately turned on clock code, and you missed everything else before.
And, you know, it was like, I remember I took this big, messy side project that I built.
And I have this browse extension where that converts a GitHub repository into one big markdown.
there was like a 1.3 megabyte markdown file
and I dragged it into Google
CIS Studio with Geminiar 2.5 or to something
and I typed write me a spec
and it generated those 400 lines of spec
and I dragged the spec into cloud code
and I was like build
and then I continue, continue continue continue
and while I was like working on other stuff
and eventually told me like
it's 100% production race.
ready and I started it and it crashed.
I'm sure we can all relate to the story of the AI saying the code is production ready
than crashing.
This is a pretty funny and innocent story, but I personally don't trust code that AI generates
without verifying it.
And this leads to our season sponsor, Sonar.
So let's look at some data.
A new report from Sonar, the state of code developer survey report, found that 82% of developers
believe they can code faster with AI.
But here's what's interesting.
In the same survey, 96% of developers said,
they do not highly trust the accuracy of AI code.
This checks out for me as well.
While I write the code faster with AI agents, I don't exactly trust the code it produces.
This really becomes a problem at the code review stage, where all this AI generated code
must be regularly verified for security, reliability, and maintainability.
Sonor Q is precisely built to solve this code verification issue.
Sonor has been the leader in the automated code analysis business for over 17 years,
analyzing 750 billion lines of code daily.
That's over 8 million lines of code per second.
I actually first came across Sonar 13 years ago in 2013 when I was working at Microsoft slash Skype
and a bunch of teams already used Sonar Cube to improve the quality of their code.
I've been a fan since.
Sonar provides an essential and independent verification layer.
It's the automated guardrail that analyzes all code, whether it's developer or AI agent generated,
ensuring it meets your quality and security standards before it ever reaches production.
To get started for free, head to Sonarsource.com slash pragmat.
With this, let's get back to Peter
and how AI agents cannot
exactly be trusted.
Then I added an MCP
so it could use the browser. I think a play with
MCP was already there. And it looped a few more hours.
And then I had a
Twitter login page and
it did something. I mean, it was not great,
but it did something. And to me,
to me this was my
holy fuck mind-blowing moment.
Yeah. And this was like an April
or May this year, right? Yeah. It was
It was just good enough that I could see the potential.
And I understood it's like, yeah, this is where it's going.
And from that moment on, I had a few months where I had really trouble sleeping.
And I, in...
I remember because once on Twitter I sent you a direct message,
I was up early for valid reasons, you know, my kids or something like that.
But it was 5 a.m. and I sent you a message on Twitter and you replied immediately.
And I was like, why are you up?
And it's like, oh, this is usual.
Like, I usually, I'm still usually awake.
And I asked like, why?
And you said, like, oh, I'm just like using Claude and it's really, really addictive.
And I was like, really?
And you're like, yeah, I'm not joking.
Like, it's really good.
And I think that was the thing.
You said something or wrote something like just one more prompt.
Like you told me how.
Like, what made it so addictive?
Or what still makes it so addictive?
I always the same economics as as you go to a casino.
That's, that's my little little.
lot machines.
You know, you press the trigger and it's like,
and it's like, nope.
You're tapping the prompt and it will like,
and it does crap.
Or it does something that actually blows your mind.
And it's this.
And you're saying it blows your mind as like you're a really experienced
developer.
Like it's not easy to blow your mind, right?
Like you've seen good code.
You can differentiate like crap code, decent code, good enough code.
Like you have a bar, right?
It's so funny.
You know, I.
In my company, I used to obsess over every detail, every spacing, every new line, the naming.
I spent so much time bike shedding.
And in retrospect, I'm like, what the heck?
Why did I do that?
Like, what's the point?
The customer doesn't see the inside.
Of course, like, it has to meet certain standards.
It has to work.
It has to be fast.
It should be secure.
But, like, how much did I bike?
shit there is like, it's stupido.
You say that, but then you also
just said that people
loved PSPDF kit because
it was the most polished, it worked the best.
Do you not think that that amount
of carrying, bike shedding, as you call it,
being obsessed, it sounds like
you were keeping tech depth at bay, you know,
like being obsessed of white spaces, it's not
going to be messy. And we know it's not just
the white spaces. We know you're going to care about testing
and all that. Like, it sounds to me
that PSPDF kit, like, you know,
Like what I see is you were not just building a product that was great UX,
but you built something that had a really good hygiene,
and that's how it could be high performance and all that.
How do you think about it?
Yeah, yeah, yeah, to a degree, yes.
And even now, like I, I mean, like my last blog post was a confession
that I shipcored on read.
Yeah, we have to talk about that.
And at the same time, I spent so much time to like restructuring.
I mean, even today, like I really wanted to get this PR in
where it was like 15,000 line chains where I, in my list for you,
I moved everything over to a plugin architecture which I was so excited about.
And I care a lot about the structure.
Did I read all the code?
No.
Because a lot of code really is just boring plumbing.
Well, what are most apps?
Like, data comes in from an API in one form.
You're like, you parse it, you package into a different form.
You store it into a database.
It's a different form.
It comes out again into a different form.
Then it's like HTML or whatever.
And you're typing something.
It's a different form again.
And all you do is like you're massaging data in different forms throughout your app.
This is what most apps are.
We are pretty JSON printers.
And the really, the hard part is solved by Postgres.
30 years ago for some neckbirds.
That's really what a lot of software is.
There's always some interesting parts,
but I don't have to care how this button is aligned
or which tailwind class is used.
Many details are boring,
and many other details are interesting.
But I think it's much more about system architecture
than having to read every single line.
Right. Now, jumping forward,
what is your workflow like?
When you're working on cloud bot
are you using a terminal, multiple terminals, which tools,
and how are you, you know, like, you said you're not,
you're kind of like not reviewing the code,
but you're still thinking about architecture.
Like, what does your average day look like in terms of tooling?
You know, you had to explain to a developer who might join the team,
you know, at one point you didn't get, like, what does it look like?
It's interesting.
Let's, let's go a little bit.
We were in April with Cloud Codes.
And then I got really hooked.
And then I did some, I had a phase where I did.
cursor
and then
I did it
I used
Gemini 2.5 a bit
then we had this phase
with
Opus 4
I hooked up a lot of my friends
like I know
I know both Armin and
Mario from Vienna
they got
they got AI peeled
because I
I was addictive
my end yearism was like
confusing them
and then they tried it out
and then eventually
they also were up at 5 a.m
and I called it like
the black eye club
I mean I'm just a
reason.
Like I started a meetup in London
that I called CloudCode Anonymous
because it's a little bit like a drug
because it's so
it's so much fun.
Like to me what
what blew my mind so much
was this realization that
I can build everything now.
Before you had to really pick
which site project you build
because software is hard.
It's still hard.
But now like I am,
this friction where I talked about
where I'm so good at this technology
and I'm like so bad at this
and I'm like, oh, let's make the CLR and go.
I have no clue about go,
but I have a good system understanding
and once you have that,
it's like you develop a feeling
what's right, what's wrong.
Like it is a skill in itself.
I remember there was this tweet where someone said,
oh, when you write a code, you feel the friction
and that's how you make good architecture.
I feel the same friction
when I prompt?
Because I see the code flying by.
I see how long it takes.
I see if the agent pushes back.
I see if what it creates looks like messy or like makes sense.
When I prompt, I have a hinge already how long it's going to take.
If it takes much longer, I understand that I messed up somewhere.
You kind of feel the model.
You know, you know how usually it's like this or if it runs.
I feel it's very much a symbiosis.
Like I learn to talk.
May I even say?
air or that language more.
So it's like my my knowledge,
how to use those things improved
and also the models improved.
And then like over the time between
April and now,
I would say at inflection point
was summer where it just got
so good that you could
you create software without actually writing
code by hand. But the
real, that change
that sold it for me is
was
again GPD 5.2
That was again, I think it's underrated.
I don't know why all these people still use cloud code.
I kind of get it.
It's a different way of working.
But whatever opening I cooked there is insanely good.
Pretty much every prompt I type gives me the result I want, which is insane.
Like on CloudBot, my latest product, I use between 5 and 10.
agents in parallel. If you're very much cloud code built, you have to forget quite a lot of the
silliness, the things that you have to do to create good output with cloud code. I mean, I also met
that team and they created a whole new category. Cloud code is a category defining product and it is
amazing for general purpose computer work and it is really good for coding and I still use it
almost every day.
But for writing code
in complex applications,
Codex is just so much better because it
takes 10 times longer.
Cloud would
read three files
and then be confident enough to just like create
code. And then you really have to
steer it and push it so it reads more
code so it sees a bigger
picture of your code base
so it it weaves in new features
better.
And Codex will just like be
silent and just read files for 10 minutes.
And if you only work
on one terminal, I completely understand
how you find this unbearable.
But I rather have something where
it's also you don't tell it what to do, you know?
This is also something that people don't get.
Like, I have a conversation with the model.
It's like, oh, let's look at this.
What options do we have for this structure?
Did you consider this feature?
It's like, because every session is like,
The model starts from having no understanding about your product
and sometimes you have to just give it a little bit of pointers,
what about this and this?
So it explores different directions.
And you don't need plan mode.
Like I'm just having a conversation until I say,
build this, it will not build this.
There's some trigger words because it is.
They're all a little trigger hungry.
But as soon as I say, let's discuss or give me options,
they will not build things until I say build.
So a lot of, would you say a lot of, would you say a lot of your
prompting or a good part of it is this conversation where you are pretty much planning together
with the agent.
Yeah.
It's like, what about like I say, you remind them it's like, okay, we need documentation.
What would be a good spot?
It would like give me the recommendations.
I say, no, this should really be its own page.
Do we need a configuration?
How does this fit into this other feature?
It's like, I am designing the system because I have this, I have this system understanding
about how is my product, how are the shapes looking?
I don't have a line-by-line code understanding.
That's what Code does for me.
But I'm the architect, you know?
It sounds a little bit like you're almost, you know,
years back, this totally came out of style,
but there was this idea that you would have the architect
with a capital A who used to be a software developer,
but they're not hands-on anymore
because they spend a lot of time understanding the business
and they have these developers working underneath them.
And some companies still kind of work a little bit like this,
but most modern companies don't,
but some banks,
et cetera,
met people there who are capital architects.
They do the system plan.
They talk with fellow architects.
They have the blueprint.
And then they literally pass it down to the team.
And everyone hates this model,
obviously because,
you know,
again,
like I think as people,
you kind of want more.
The architect is never on call for this stuff.
And so it just kind of breaks out in practice.
And a lot of large companies just move to the staff engineer model
where you're kind of all working together.
Of course, there's people who might have more input.
But it sounds like it's almost like this world
where you are the architect who kind of,
you know, you have your little agents
who do the code,
except in this case, you are, of course,
full or responsible because you're still an individual contributor.
You're not like a, okay, you might say you're a manager of agents
or whatnot, but the code is yours.
It's your responsibility.
You're going to be on call.
If you push out code that takes down Cloudbot,
which it did just recently, you're on the hook for it,
Right? And I think the difference in this system when it was in companies, it was, the architect was kind of shielded from the output of their work because there's so much people and so much process, et cetera.
I wouldn't say architect. I like the word builder.
Builder, yeah.
And as I go to, that's, there's a few categories that I see for people that are highly successful using AI and people who really struggle.
I care more about the outcome, the product.
I very much care about how it feels and everything,
but how the plumbing works underneath, I care structurally,
but not the biggest detail.
And then there are people who really love to code on hard problems,
like think about algorithms,
don't really like the, I'm building a product with all the marketing.
They're more like they like to solve hard problems.
And those are people who really struggle and often reject AI
or get really sad because that's exactly.
the job where that AI does.
Like, it solves the hard problems.
Now, sometimes I give it some pointers, but many times I learned more this year than
the last five years around software architecture and designing.
There's so much inside those monsters on knowledge.
And everything is just a question away, but you have to know what question to ask.
Of course, I also built this Twitter thing, and it's still not done.
And I really hope I'll get back to it at one time.
everything worked, but if I used it more at some point, things got really laggy and weird,
and then it worked again.
I just couldn't figure it out.
And it was like really difficult to debug because it was not easy to reproduce.
It was just like you use it more and things could really slow.
I basically had like software in PSQL, like in Postgres that would be triggered when certain
inserts were doing.
And then the database would get really busy.
And the model couldn't see it because it was, it was so far abstracted from all.
You know, like those models are really good at tracing through.
But this was a side effect that was so hard to see because it was only in this one file,
a function that had no connection to anything else with a name that was not easy grabable.
I just never asked the right question until I was like, do you have any side effects for this and this?
And I found it and I fixed it.
And it's like, but everything is just the right question away.
Yeah, but you need to have like knowledge, expertise.
experience.
I mean,
so these are the people rejected
and then the people who
care a bit less about
how it's being plumbed internally
but are just excited to build things,
they are really successful.
And one thing that also helped me is,
you know when you run a company
and then you hire people,
you can't breathe on everyone's neck
and make them have the line of code
exactly that way.
And there's a lot of people
who didn't manage a team
and they had this experience,
how to relax a little bit and understand that,
yes, this maybe is not exactly that code that I want,
but it will get me closer to my goal.
And for anything that is like not perfect,
we can always make it better and like put more time into it.
I very much believe into this iterative improvement.
I had to learn to let go a little bit of my company.
So then when I had cloud code,
it kind of felt like I have like imperfect, sometimes silly,
but some of those very brilliant engineers
that I have to steer
and where we work together on a common goal.
It would look like being the boss again.
Interesting.
Now, you built kind of software, I guess,
the traditional way, you know, pre-AAI for 15 years
or even more than 15 years.
And you got really good at being,
also leading a team and then how to have high standards.
You really cared about the craft there as well.
You've now kind of been, I guess,
vibe coding or working with agents.
for a year.
You're comparing the two,
what do you think,
what do you think
really,
really changed,
and what do you think
are things that
kind of stayed the same,
despite all the other.
First of all,
I don't like,
I don't like the term
vibe coding.
All right.
How should we call it?
I think,
I think vibe coding is
by now almost a slower.
Oh, yeah.
I call it,
I tell people,
I do,
what I do is a genting
engineering with a little star.
Vipe coding starts at 3 a.m.
Now,
like,
because all the,
the mundane stuff
of writing code
is automated away,
I can move so much faster,
but also means like
I have to sing so much more
I'm still very much in the flow
like it is
it is completely the same feeling
as for me as
I very much get in this flow state
but it is mentally even more taxing
because I have
I don't have one employee
that I manage
I have like five or ten
that all work on things
and I switch from this one part
to this other part
to this other part
mostly because of
I'm designing this subsystem
or like this feature
and then I know that it will probably
take codex like 40 minutes
or or
one hour to build.
So like I want to like have the plan right and then I build it.
And then I'll move on to something else.
But then this is cooking and then I work on this and then this is cooking and then this is cooking.
And then this is cooking and then I go back to this one.
So like I switch around a lot in my head.
I wish I wouldn't have to do that.
Like I'm sure this is a transitionary problem.
And at some point we have we have models and systems that are so fast that I can paralyze a little less.
But to stay in the flow state, I need to massively parallelize.
So that's how I work.
And I go back to there and maybe tweak it a little bit more,
but usually just like try it out.
Maybe then this is ready because this took only took like 20 minutes.
So like I constantly jump around.
Usually there's one main project that has my focus
and I have some satellite projects that also need attention.
But where I can maybe spend five minutes,
it does something for half an hour,
And I try it and it doesn't need so much capacity up there.
This almost sounds, you know, like two things come to mind.
One is there's these, like, games where you have to manage a kitchen with the employee
and you see, like, recipes or something come out and you need to jump and do it.
It's more like StarCraft.
You know, they have like your main base and you have like your side bases to give you resources.
That as well.
And also one thing that just came to mind is you said, like I go there and I watch this and I make a decision
is when I see the chess grandmasters play multiple boards at once.
You see, sometimes they're 20 boards, and they always go there.
They kind of, you can see that they just like see what's on that board.
They make a decision.
And for some boards, they stop for longer, I guess, better players or better opponents.
It feels, you know, both they're occupying 100% of their brain.
You're occupying your bay and you're kind of just scaling yourself as long as you can context switch.
The difference, the difference was up until this cloud code, you have to work a little different because it is much faster.
but then the output often doesn't work on the first try.
So like it makes something,
but then it forgot to update three other things.
It crashes or you give it.
The good thing,
how to be effective with coding agent is always like you have to close the loop.
It needs to be able to debug and test itself.
That's the big secret.
That's also something I think that's part of why I got so much more effective.
But yeah, with cloud code,
I often had to go back.
and like fix up the stuff.
Or it just takes a lot of iterations.
So in the end, it's not that much faster.
It's just more interactive.
And these days with Kordex,
it just almost always gets it right.
My general strategy is always,
I build a feature.
Of course, you always let it write tests
and you make sure that it runs its own systems.
It runs them, yes.
And so even when I write a Mac app,
I don't know, I just, yesterday I debug this feature where the makeup couldn't find a remote gateway,
but like the same coding type script could, but makeup is kind of annoying to debug because like it builds it,
you have to start it, you have to look at it, you have to like, no, this is not working.
So now I just said it like, you know, you're going to build a CLI just for debugging that invokes all the same code paths that you can call yourself
and then you just iterate and you fix it yourself
and then it will just cook
and it just cooked for an hour and it was done
and it told me like there was a race condition here and here
and like a misconfiguration blah blah blah
and like yeah it sounds sensible
I don't need to I don't need to see that code
it's like but but you don't need to see it
because you set up the validation loops
and you trust that because it ran it
I mean this is I guess I guess it's not too dissimilar
to like sometimes when we work on a large project
in a large company when all the tests pass
I mean it doesn't mean that 100% is there
But it's a pretty good, and all the new code has tests as well.
You know someone thought about it and tested it and all that.
So even on my, on the very little project, we always had bugs for like anti-gravity
has like a certain weirdness with how it takes tool calls in the loop in the format.
So you have to like some filtering.
Yeah.
And I broke a bunch.
It actually took me way too long to realize like, what am I doing here?
I just need to automate this.
So I was just going to Codex.
It's like, design live tests that spin up a Docker container, install the whole thing, spin up a loop, use my API keys from this and this file.
And then you tell the model to read an image, create an image before, and then look into the image and see what it sees.
So I don't not just tell the loop, I'll still tell tool calling.
Make it work.
And then it solved itself.
It took forever.
but it tested all my API keys
like from Anthropical
over Setei over GLM like everything
and it fixed all those little intricacies
where sometimes the tool calling
didn't work or the ordering was wrong
because I closed the loop
and that's a secret
And closing the loop you mean just have a way
to have the agent be able to validate its work
that's the whole reason why
those models that we currently have
are so good at coding
but like sometimes mediocre
good at writing creative because there's no easy way to validate, right?
But code, I can compile, I can lint, I can execute, I can verify the output.
If you design it the right way, you have a perfect loop.
Like even now for websites, I built a core in a way that can be run via a CLI.
So it's like I have this, I have this perfect execution loop because the browser loop is insanely
slow.
You want something that loops fast.
So it sounds like one thing that is not really changing from like before.
is we had this before, like back end or business logic heavy thing could easily be or more
easily be verified that it's correct.
Surprise.
Actually, using agent coding makes you a better coder because you have to have to think harder
about your architecture so that it's easier verifiable because verifying is the way how to make things
good.
Well, then remember back even before AI for complex systems, like once you got someone who built
these things before what they started with, how do we make it testable, right?
like you need to design interfaces, classes, testable.
You need to think about, like, am I going to fake things?
Will I use mocks?
Will I use end-to-end testing?
Which will be long, et cetera.
But these are like really hard architectural decisions.
And once you make them, they're, I guess, harder to change.
And in your word, you know, like the model would cook a lot longer if you ask it to make a massive refactor.
And, you know, if you have tests, it'll get it right.
But you know, we still have these tradeoffs.
It's still, it's still software.
I would say I write better code now
that I don't write code myself anymore
and I wrote really good code.
But like even back at the company,
sometimes testing was so tedious
and you come up with all those edge cases
and the branching.
I mean outside of Kent Beck,
who I in deeply respect and he was on the podcast
and we talk like he
still writes test first and he tells me
he's not mad at me for not writing it,
but if you want to write like, you know,
quality code that's on you.
But I don't know many developers, myself included,
I never liked writing tests.
And even when I pretended that I did,
I just never did this a little bit like writing documentation
and writing tests.
To me, it was never a creative expression.
It is so good now.
Like, I would say for my last project,
I have really good documentation.
And I didn't write a single line myself.
Like, no, I don't write the test.
I don't know documentation.
I explained the model the tradeoff.
So like why we did something like this?
and then tell it like, like write that,
write the entrance section beginner friendly
and then more technical detail at the end.
And it is so good.
I never had a project with that good documentation
just by every time we design a feature,
this is a part of the process.
And also like testing.
I'm also like, okay, we built this.
How are we going to test this?
Yeah, we could do this and this and this.
What if we build it this way?
Oh, yeah, then we can test it better.
It's like, this is now part of my singing
because I always think like how do I close the loop?
How do I,
The model always needs to be able to verify the work itself,
which automatically steers me to better architecture.
So why do you think there's a bunch of experienced devs
who are still pushing quite a bit back on just like the idea that AI can do a lot of this?
That was a week ago.
I stumbled over a blog post by Megalajaga, Koko With Love,
that I deeply respect and learn a lot from.
and this blog post was just
was a dissing of the current way how models work
and what he did was he
he tested like five or six models
including some that make no sense
like the open-ei 120 billion open source one
it's not good enough to write good code
you know it's like and he just
he wrote a prompt
as far as I understand it there was there was not a lot of information
on the website but I to me
it sounded like he would have prompted, he put it on
Claude Webb, and
he pressed
send. And then he took
the output and ran it and it didn't compile.
And he was disappointed.
But it's like, of course it will not work.
Do you think I can write
buck free code on the first attempt?
And those little, those
models are ghosts
of our collective human
knowledge. They work
very similar in many ways.
Of course they don't get it right the first time.
There will be mistakes.
That's why you have to close the feedback loop.
And also you don't just send a prompt to the model.
You start a conversation.
Hey, this is what I want to build.
He complained that it used old API.
Yeah, you didn't specify the macOS version.
So it made an assumption to default to like old API because that information was missing.
And it is trained on a lot of data, not just the last two years.
And there's just more old data than new data.
So this is like the more you understand.
understand how those little beasts think, the better you get it prompting.
And then he spent maybe, I don't know, a day or so on playing with it
and then just decided that this technology is not really good.
But to be effective, you have to spend significantly more time.
You know, it's like you know how to play guitar and I put you on a piano and you try it a bit.
It's like, oh, this sucks.
I'll go back to my guitar.
no no it's like it's it's a different way of building it's a different way of thinking you have no idea
how often i scream that like 3 a.m to cloud code because it did something silly i slowly started to
understand why those things do what they do with like exactly the way i tell it to do things
and sometimes you can literally ask you can even even last year like i for this project i
the last project like clodboard i feel like a human merge button because the community is like
blowing off and all I do is like reviewing PRs.
I have very little time to actually
if I code myself anymore.
And in the beginning it would often like
just cherry pick things and would close to PR
and it was like so annoyed.
So I'm like, why are you doing this?
Yeah, when you say this and this and interpret this
this and this.
It was like, ah.
Like I learned the language of the machine
a little bit more. I tweaked my
prompting and now I get exactly what I want
because it's
it's a skill like any other skill.
And this is like Simon Wilson has been saying the same thing, even though he's been using it for years.
And I think everyone, I think once I start to use it, I also realize like I'm not, I'm okay headed, but I could do better.
What if we put this to a real test?
Because I think it's fair to say that right now you're building cloud bot, which is a, you know, it's not something that generates revenue.
There's a lot of users and it's blowing up and it's a really cool tool.
But it's not PSPDF kit, which is a business that it's a lot of revenue as a hingeing over it.
if today, you know, we just wiped PSPDF kit is not as this, you need to rebuild PSPDF kit.
You now have these agents.
How differently would it look?
How much would you trust it?
What would you delegate?
What would you validate?
And when, you know, you built up a team around it because now it's a profitable business, at the very least you need to hire salespeople or whatnot,
how do you think the team would look different today with that same product?
Because you know exactly what it took to build it.
And you also know what these tools can do today.
I could easily run a company with 30% of the people.
It would probably be quite difficult to find people on that level.
So you want to have really senior engineers
that really understand what they build,
but that are also comfortable in delegating
and know which parts are actually important to work on
and which parts I can vibe.
that's still something I don't see
a lot
especially in the
AI world there's so much
crap on Twitter
there's so many people that are loud
but clearly have
no clue what they're doing
there's so many dumb concepts around
like I'm sorry but the Ralph Wiggum one
like this is again
another sillyness
people use to work around
model limitations of opus.
You don't even need when you use codex.
There's maybe a few cases
where you have a really long list of individual tasks
that can be automated,
but that's usually not how softer building works.
So there's these people who...
I see so many people building up this elaborated orchestration layers
and then you have like beats that automatically creates tickets
and then your agent does tickets
and then your agent emails the other agent
and then you build up this elaborate management,
what for?
Oh yeah, they designed the spec
for like a few hours
and then it's just like
the machine built it in the whole day.
I don't believe this works.
Like this is
this is the waterfall model
of software building.
We learned long ago that this doesn't work.
Like maybe yes,
people work differently and maybe it does work for some.
I just don't see how this
how this could work for me.
Like I have to start
with an idea
and often I
purposefully
underprompt the agent
so it would do something
that would give me new ideas
maybe like
80% of the things
they assume by like crap
but like they're like
two things are like
oh I didn't think about that way
and then I
iterate and shape the project
and I have to click it
I have to like
I have to feel it
I feel to make good software
I
you know the one thing
those things often lack its taste.
I have to feel, like, how does this feature feel?
And the beauty now is that features are so easy,
I can just, like, throw it away or, like, reprimpt it.
My building model is usually very much forward.
It's very rarely that I actually revert and have to go back.
It's just like, okay, no, then let's change this.
No, then let's do this.
And it's like, it's like shaping.
I love how this, like, you start with a rock
and then you, like, sizzle away at it,
like pick different areas.
and then slowly like this statue emerges out of marvel.
That's how I see building something.
I guess reflecting on how software engineering is changing,
this seems like a change because before we had AI or any of these agents,
upfront planning did make a difference.
You know, writing at PSPDF could you insist that, I think,
to have a proposal where people put a lot of thought up front to specify and do all,
because it was expensive to, I guess, to build,
do you think this is changing because of the cost of just writing code is going down?
I mean, I still plan.
You still do, yes.
But I don't put as much into it because it's not so much easier to just like try and look at the results
and then see if, oh yeah, this shape could work.
Or no, we have to like the tweaking and even like, oh, no, we have to like do it a completely
different way.
It's not so much cheaper that it's, to me, it became much.
much more playful.
Yeah, I guess because like, you know, when you're working, even if you have like a new
grad on the team or an intern, you know, you give them something, they're working for a day
or two.
Now you give them another, it's not a day or two.
And we're not talking days here, we're talking minutes or like if it's a long running
task like 10, 20 minutes at worst.
Plus you're not just waiting on that thing.
You have parallel things running.
So it's not that much of a waste, if you will.
In the in the, in the beginning I had this assumption of like one agent and then eventually
changed to multiple agents.
And there was an assumption of like
one provider like WhatsApp
and now it's multiple ones. And changing that was like
such a pain. I would have been
such a pain if I would have written it myself
because you have to weave in literally
everything through the whole logic
of the application.
And yeah, it took
codex like three hours. It would have taken me like
two weeks, you know?
So that upfront planning, I
could have realized that in the beginning.
But now I
I know that like I can just change things
and it's much easier to work down your technical depth
or your you know you evolve how you think about a project
as you build a project.
That's why I don't believe in I don't know things like Gastown
where like you write up this bag and then he builds itself
and then it's done.
How can you even know what you want to build before you built it?
You learn so much in the process of building it
that will go back into your thinking of how the system actually will end up being.
To me this is very much
it is very much a circle
until I
you don't walk up the mountain like this
you go you go around
and sometimes you like
you stray off a little bit of paths
but eventually
you reach the top
that's how I feel so serious
then you know you've been building cloud
but for what like two months
three months nonstop
is like how long is
let me let's switch a little bit here
so one of the ideas
that
got me back
was
Even in April, May, was I wanted to have this hyper-personal assistant.
Not like one that sends you a good morning email.
Oh, these are your three tasks.
No, one that has a really deep understanding of me
and doesn't just, I don't know, I meet a friend.
And then when I go home, it would ping me, hey, how was that meeting?
Or one that would wake me up one day and say,
hey, you haven't texted Thomas in three weeks.
And I noticed he's in town right now
because I checked his Instagram account.
They want to say hi.
Or something that says,
hey, I noticed every time you meet that and that person,
you're sad.
Why is that?
Like something that is deeply personal,
like almost the anti-O-RM.
It's kind of like the movie her.
But that's where the technology is going.
Those models are really good at understanding text.
The bigger the context is, the more patterns they see.
And even though they are like matrix calculation without a soul,
it very often feels different.
So this was like one of these ideas.
And I even created a company I called a Mantos machina,
like the loving machine.
But in summer when I explored it, the models weren't quite there yet.
I got some results.
It was like, okay, this is like,
I'm a little too much on the edge of what I need right now,
which was very exciting because I know that the state of the AI goes so fast
that, oh, I can just revisit that in like a little later.
And one of the ideas also was that I assume that all of the big corporations right now
are very much working on personal assistance.
In the future, everyone will have, you will have your best friend
who is a freaking machine
that will understand you
that will know everything from you
that will can do tasks for you
that will be proactive
that will require a lot of tokens
but everyone who can afford it will have one
and of course this will democratize
and trickle down to more and more people
as we learn how to build more efficient systems
and hook up on chips
no question this is where the things are going
and you see like the first things with like OpenEI
who launched
pulse with some productivity, but we just don't have enough compute yet to offer this as a feature.
And also it's quite difficult.
My idea was, I kind of want something that runs on my computer and where the data is.
It's yours.
It's actually mine.
And it's also quite scary that like you give open-upendropic access to your email, your calendar,
your dating apps.
I don't know if you talk to your normie friends.
a lot of my friends in that day.
They use that a lot
to basically have a
therapist. And it does work
incredibly well. Like it's
a really great listener. It understands your problems.
And unless
like some of versions of 4-0 that are like,
sure, this is a great idea.
I want to put French fries into a salad.
It works really well and I did that too.
Like to like...
I mean, part of it just is like
the act of reflecting already is helping you.
So it would even work if the
machine would only repeat exactly what you wrote to a degree, but it actually gives
insightful questions.
It's actually, it got really good.
So I had this idea of this like assistant, but the tech wasn't there.
So I did the other part and I built a whole bunch of fun stuff with like, of course, like I built
vibe tunnel.
In your career to become like an energetic engineer, you have this phase.
It's a trap phase where you're looping and building your own tools to like optimize.
your own web flow.
But this idea of like this hyper personal agent stuck a little bit.
And then over the last few months I really started, I built it.
But finally, initially I didn't even had the scope that it has now.
Like I called it WhatsApp Relay.
I just wanted to do to trigger stuff on my computer with WhatsApp.
So I built like a WhatsApp relay where I had an agent that could do stuff.
with my computer. And then I
was traveling to Morocco
for a friend's birthday and
was out most of the day and just used
WhatsApp to talk to my agent.
And I was kind of hooked. It
was guiding me through the city.
It was making jokes.
It could text
other friends via WhatsApp from me.
And I remember I was
blown away because I
in the beginning the tech was very scrappy.
but I built in something where I could send it an image.
Didn't even use the proper thing to send an image.
I just gave the a string
and it could use the read tool to read the string.
And then I was in Morocco and was just like not thinking
and sending it a voice message,
but I didn't build that.
And then like 30 seconds later it replied to my voice message.
And like, what if did you do that?
Oh yeah, you sent me a file
and then I looked at the header.
and I found that it's OGG
so I used FFMBAC to convert it
and then I looked for VISPA on your computer
but it's not installed but I found the open-E-I key
so I did a curl to open the I-S server
let it translate and I'm like
holy cow
like this was Opus 4.5
and it's so incredibly resourceful
like you just did this
you know other people say oh you need a skill or some system
no just like it just figured it out
I slowly got hooked on the thing
I used it to wake me up.
And it was running,
it was running on my Mac studio in London
and was connecting over SSH to my MacBook in Morocco
and was turning on the music
and making it louder and louder
because I didn't reply.
And to make that work, I added a heartbeat.
So which in a way is insane from a security perspective.
You have a model that you prompt with
do something cool and surprise me
that you send every few minutes to make it proactive
and like goes through your task list
like probably the most expensive alarm clock ever
but it was just hilarious
and also the text it sends like
because I had a balloon for it
and it knew that I had to wake up very early
and I didn't reply and it was like
you could see the reasoning
Peter's not responding
but Peter has to wake up
no no no no no no no sleep
as it was bitching to me
and then I showed it to the friends I was with
and everybody was like hooked.
This is something magical.
And I was hooked too.
And then I went on Twitter and I got the most muted responses
because nobody would get it.
I feel it's somewhat of a new category of products.
A little bit like your story with like, you know,
when you didn't get the iPhone from the marketing campaigns and TV and anywhere
and then you have to use it.
Yeah, so I worked on it,
but only the last two months.
And the name changed from War Relay to at some point a Claude.
So like, what is this name?
Like it doesn't fit the feature set anymore
because I had like telegram in there and other features.
So I renamed it to Claudeus because it's an inside joke
because I like Doctor Who.
I felt Cloudbot is a better name,
has a better domain and explained the product better.
so added on the domains
and then I
I also quietly build up
my army because to make this work
you want you want everything
to be a CLI
so I was just building CILIs
for everything like for Google
for my bed
for lambs for music
why CLEs
why not MCPs
and what do you think about MCPs
anyway
as a crutch
it's I think that
the best thing that came out of
MCPs is that it made
companies rethink
to open up more APIs
about
But the whole concept is silly.
You have to pre-export all the functions of all the tools
and all the explanations when your session loads.
And then the model has to send a precise blow-up of chasing there
and gets chasing back.
But surprise, models are really good at using bash.
And like, imagine you have a better service.
So the model could ask for
list of available cities
and then get like 500 cities back
and then it has to pick one city out of 500 cities
but it cannot filter that list
because that's not part of how MCP works
and then it's say okay give me the weather for London
and you would get like the weather, temperature,
wind, rain and like 50 other things
that I'm not interested in because I just want to know
is it raining or not?
Probably raining because London.
But the model needs to digest everything
and then you have like so much crap in your context
Whereas if it's a CLI, it could use GQ and it could use a filter for exactly what it needs.
But does not seem like a limitation that everything is loaded around the MCP in the context?
That seems a problem like.
It sounds like it could work if MCPs were not in the context and there was a way to discover or decide which one to use.
That's what companies are building now.
But there's still the problem of that I cannot chain them.
I cannot easily build a script that says, hey, get me, get me like all the.
all the CDs that are over 25 degrees
and then filter out only that part of information
and like packet in one command.
It's all individual MCP calls.
I cannot script it.
Yeah, but I guess this is just a matter of time
because if we think about like, you know,
when I'm building a weather app right now,
I know that even without AI,
I know I need to build up this thing.
I need to fetch the data.
So I will search what kind of APIs are available,
which one do I like,
which what kind of tradeoffs for pricing,
for covering, et cetera.
and then I choose that API.
I could chain APIs because I could get that result and look up, etc.
So I guess this is, you know, like it sounds pretty much we've solved this.
So as pre-AI, we're going to solve it.
It'll just take some time and who knows what the format for it will be.
I mean, I built Mac Poitreter, which is a small typescript thing that converts an MCP to a CLI.
So you can just package it up.
Basically, you're saying CLI is right now a lot more efficient.
Yeah, yeah.
So my in club, but I don't have MCP support.
But you can, via MacPorter, you can use any MCP.
You can literally be on your phone and say, hey, use the VersaSel MCP to do this and this.
And it will go on the website, it will find the MCP, it will load it and it will use it all on demand.
Even right now, if you use the MCP, you have to restart cloud code, which is like very user unfriendly.
So I quietly build up my army to, like, automate everything, which was a lot of work.
I think Teo did a video
a few days ago
where he told me like
this guy is insane
because the list is really long by now
but like I
as I was playing with my
my agent
I wanted him to do more and more stuff
you know
I felt it really hard
to convey
what it does
still hard to me
in January
first
just a week now
I did okay
let's let's try something
let's
do that really insane thing
of like making a discord and then adding my agent to discord.
There was somebody who contributed discord support to it.
And even though I wasn't unsure if I should merge it,
then I actually did.
So I put on my agent who has full read wide access to my computer in a public discord.
What could possibly go wrong?
Yeah, it's like, this is absolutely insane.
And then of course, like some people joined the discord.
And then they saw me, they saw me using the full power of this thing.
like checking my cameras, doing home automation.
It's playing DG for me.
Like I was in the kitchen and I told him like,
look at my screen and are my agents done?
Because it has full access of my clean and it can click.
So it can actually click into the terminal and type for me.
And like you can tell me your codex say this and this
because it just sees the screen.
I mean, I'm working on optimizing that.
Yeah.
Like I actually want to stream out it because it would be much better if it's text.
But it works already.
Like it's in the background.
It's to look at myself.
screen it like make some rants if I do some shit and everybody who experienced it for a few minutes got hooked like this was this was the craziest blow up from 100 stars to like what 3,300 stars in a week um and I think I merged 500 podcasts already that's why I feel like a human merge button so that's why that's why I'm a little I'm little all over the place these days because this project is blowing off and and and
You know, the beauty of it is the technology disappears.
You just talk to a friend on your phone that is infinitely resourceful,
has access to your email, your calendar, your files, can build websites for you,
can do administrative work, can scrape websites, can call your friends or can call a business.
I'm just about to merge the call feature.
It literally can call a business and make a reservation for you.
And you don't have to think about compactation or.
or in all of that context blends away.
I have like a memory system that will remember.
Not perfect.
Nothing's perfect yet.
But it already feels magical.
Because now I walk around.
I see like this event.
I send Claude a picture.
It will not only tell me the reviews of this event.
If there's a conflict in my calendar,
if like friends talked about it.
Or, you know, it has so much.
context that it, the responses that it can give me are like so much better than like
what any of the the current tools that live in their own little box can give me.
Well, sounds like you built whatever Apple was hoping Siri to do, but they've been unable to.
I honestly, I built the best marketing tool for Anthropic to sell them more subscription.
I don't know how many people signed up for the $200 subscription because of Cloudbot.
and like many people already had one
and used a second subscription because of it
because it's so token hungry
it's not that it's token hungry
it's just that people love it so much
that they use it all the time
and because the technology blends away
they don't see that it spawns sub-agents
and does like a whole bunch of things
in the background
to just make it feel easy
but like there's some actual engineering
and like there's a lot of work in the bag
to make it feel easy
you know this is like the hard part
like you hide complexity
to a degree that it feels magical.
Well, but yeah, but this is interesting
because, like, I can sense from where we're talking.
You know, you put so much thought into architecting this thing.
And right now, like, you've been building this for a few months.
And yes, it blew up.
But in your head, like, do you have a structure of how Cloudbot is structured?
Like, what parts you need to modify?
You know, like, you kind of, you can get your mindset into it.
You know where modification needs to do.
You know what you want to refactor.
it's not going to be efficient?
Are you thinking about things like memory consumption,
token consumption efficiency,
those kind of things?
I mean, token consumption is more like
how do respect to the prompt.
And memory,
it's type script that shows chasing around
in the end. Let's be honest.
Yeah.
Like I get text from an LLM.
I save text to disk.
I send text to WhatsApp
or to now we have like
MST.
Slack, Discord,
signal,
I message,
WhatsApp,
and there's two more
that are landing,
like metrics
that will expand
to think even further.
It's like,
it's really poorly by now.
But mostly,
again,
I move around
text in different shape.
And maybe it goes
to different providers
or there's like,
now it's different agents
and there's like
the agentic loop
and there's like
a lot of configuration
and there's,
it's a lot of plumbing.
But
nothing's
there's nothing in there
that is really difficult.
It's a lot of small things, right?
I feel in software, right?
Like we know for software
even before AI, there was not
much difficult. Of course, you need to learn
and understand the language and all that.
The difficulty is how do I
make it so that it feels magical?
So what I worked on a lot is now you have
this one liner that you're typing,
that you place in your command.
I will check if you have known installed,
homebuhr installed, I'll install
the NPM package.
I do some check
if you have any existing stuff.
Just to make it work simple,
even if you already used
an older version and everything.
And then I'll guide you through
setting up a model.
But again, I will
pre-find if you have
codex or cloud installed.
So you can just press enter.
So you don't have to think about it.
Mostly just press enter.
And then you want to WhatsApp,
you type in your number. It will just work again.
and then I'll ask you,
do you want,
do you want to hatch your bot?
And you can press yes.
And then like a toi comes up
because you're still in the terminal, right?
You want a good experience?
Yeah.
So just a tori, basically for that
and where you just see,
wake up, my friend.
And then I programmed the model.
I added a bootstrap file
to explain the model that it is now being born
to like create an identity
and a soul
where the values of the user are in
and then the model will be like
hello
like stretches
who are you
who I am
what's my name
you know and this
this is this
like I've watched people do it
and that's where the magic starts
that's where
that's where they are like
they no longer think about
I'm talking to
to GPD 4.2
no I'm not talking to
my friend created Vahorn
like a unicorn with part of his name
or like I'm talking to Claude
And then it's like, what's important to you?
What do you do?
It's like curious.
I programmed it to be like curious and then goes through this bootstrapping phase.
And then it will actually delete the bootstrap file and create a user.
dot MD with like information about you.
A soul.
Dot MD with like all the core values and an identity with the like what's his name, what's his core emoji,
what are the things that are like inside jokes.
And but it's like evolving documents that it will maintain and like tweak as you interact with it.
And then it will just like send you a message on WhatsApp.
And you just like suddenly you talk on WhatsApp.
Like making this flow easy, that's hard.
Yeah.
Also like even coming up with the idea of you're not editing the configuration
because the agent can edit its own configuration.
You don't have to update anything because the agent can update itself.
You can literally ask you bot update yourself.
And it will fetch itself and update itself and come back.
It's like, hey, I have new features.
blending the technology away so far
that's the magic
that's why I like
but it feels it's pretty similar
to what you would be a PSPDF kit right
you kind of blend it away the complexity of a PDF
so that which is there you could rotate you could do
yeah yeah even at the API level back then
but it's a it's a bit bizarre
like what you described reminds me of this
black mirror episode I just watched which is called
plaything
where it's a digital
little
creature that creates of course the black mirror
so it has a black, a bit of a dark ending,
but it was also a game.
It also kind of feels, you know,
we talked about how you don't play as much games
because you like, but this also feels a little bit like a game, right?
But it's kind of like more connected with reality.
It's just fascinating how we're here.
Pulling back into the realm of software engineering,
so you build this product,
and it's now it's a production software,
you're merging poro because people are using it.
Now, thinking back to PSPDF, Gita and companies,
that are like that, which have, you know, like tens or hundreds of developers working on
production software, knowing what you know with how you're building CloudBot and the tools that
you're using, how do you think software engineering at those larger companies could change?
Because one thing I see is for individual people like you, it's like AI is really, really
hitting a fit. Like you're making you way more productive, you're in control. At teams or at companies
that are, you know, have existing code, it's just a lot, it's kind of slower. It's,
It's not for the, okay, people use it for this or that.
But it seems a huge divide between the two worlds.
And you've kind of been the CEO for this company.
What might that be?
Or is it just more of a timing thing where every new technology often comes with
how this, you know, pick it up earlier?
I think companies will have a really high time adopting AI efficiently
because this also requires to completely redefine how the company works.
You know, like at Google, they tell you you can either be an engineer or like a
manager, but or you want to also like define how the UI looks.
That rule doesn't exist because either you like, you build it or you design it.
But this new world needs people that, that have a product vision, that, that, that can be
able to do everything and you need like far fewer of them.
But ultimately, just very high agency and high competency people.
But you can, you can, you can probably like trim the company down to like, sort of
which is very scary because like, I mean, economically this will all lead into a fiasco.
And a lot of people will like have trouble finding a place in this new world.
But I'm not the least surprised that current companies cannot very successfully use the AI.
I mean, they do to a degree.
But you have to do a big refecto first, you know, like not just on your code base.
but also on your company.
I design, even on the code basis,
I design the code base not so it's useful.
It's easy for me.
It has to be easy for the agent.
I optimize for different things,
not always the things that I prefer,
but the things I know work the best
and have the least friction
for those models because I just want to move faster
and ultimately they have to deal with the code,
not me.
I deal with the overall structure and architecture
and I can still do that in the way that I like.
Everything has to be resolved.
You know, pull requests.
I see them.
more as prompt requests now.
Like, I don't, I, somebody opens a pull request.
I don't, I, a lot of do is say thanks.
And I think about the feature.
And then with my agent, we start off with the PR.
And then I'll design the feature as I see fit.
The agent rarely reuses, like maybe I reuse some code,
but it's more like it gives the agent a good understanding of what the goal is.
And sometimes it's very useful because it's tricky bucks, right?
But I basically rewrite every pull request.
and weave it in.
Also,
also a lot of people,
let's just say the overall code quality of PR is going down a lot
because people vibe code and building a successful feature
still needs a lot of,
a lot of understanding of your overall design.
And if you,
if you cannot do that,
you will have a harder time steering your agent,
and the output will be bad.
Yeah,
and if you don't have the feedback route to close it,
et cetera.
Yeah, so I found it highly effective.
Like, you know, at my, at PS3DF kit,
sometimes a product was like a week in the work,
And you comment on it
and then somebody has to
context switch
and you wait for a CI for 40 minutes.
No, I have the discussion.
I see, okay, how would this affect something?
Like I let the model review.
They will already bring something up.
I have some ideas as well.
We're going to reshape it into a form
that fits my vision.
And then we weave in the code.
There's so many new words I use
for writing code.
Now with those models, which is so funny,
like weaving in code into an existing structure.
And sometimes you have to like change the structure
so it would fit. Now, imagine that
you would hire one or two people to make it
a small team. How do you think
in this world, and you want to keep
doing what you're doing, how do you think
things like code review, CI,
CD would change?
I don't care much about CI.
Why? Why not?
You used to care a lot.
Because if PSPBDF, you used to care a lot, right?
And I still do this. There's value.
But I
have local CI.
I'm a little bit of
DAHPEL now that...
Because the agent runs a test, right?
Yeah, and it's just waym faster.
I don't...
I want to push on the...
Back on the PI and then wait for 10 minutes to wait for CI.
Because you waited 10 minutes on the agent already.
If the test passed locally, we merge.
And then, yes, sometimes main slips a little bit, but it's usually very close because
maybe sometimes I forget the...
And the agents call it gate?
I don't know where that's coming from.
Should I run full gate?
So now I call it gate.
Full gate is like linting and building and checking
and running all the tests.
And I almost think it like because it's a wall,
you know,
like it's like you call the linta and like the builder and the tester,
it's almost like a gate before my code goes out.
So I know I always like,
okay, once you're done like commit this, run full gate.
Like I'm slowly adopting their language.
But if you hire like one more person to work on this,
you probably wouldn't do code reviews either.
Well, that's what I'm sensing.
You would probably trust this person to run like,
pick up your working style, right?
Even in Discord, we don't talk code.
We talk about architecture, like big decisions.
Like, you still need to have style.
Like, there was, like, this one pull request that adds voice calling.
So now, like, literally, I can tell Claude,
hey, can you call this restaurant and reserve your seats?
And it can do that.
But it's a big, it's quite a big new module that, like, touches a lot of places.
I'm like, you have to have this feeling.
It's like this ick.
Like I got a little bit of this.
It's like, I want to merge this, but this is becoming bloodware.
So I had this idea of like, let's, my typical way, let's make a CLI out of it.
And I already had a project where I tried to solve something like this, but I'm finished.
So I opened up Codex and said, hey, look at this PR, look at this project.
Could we weave this feature in?
I again say, say we've.
I'm like, so.
No, let's let's keep it.
Could we weave this feature into the CLI?
What are the up and downsides?
and then it would like tell me like, oh yeah, I could do this and this and this.
To give me honest opinion.
Would this, to me it sounds like it would fit into the project.
It was like, yeah, you would get this and this benefits that we cannot do if we're next in a CLI.
Okay, but I don't like this.
This is getting bloatware.
Could we build a plugin architecture?
And then I will, and you know, like one of the secret hacks on using AI effectively is you reference other products.
Like I constantly tell it, look into this folder because I've sold.
that there and a solve that there.
And all the previous thinking I did to solve a problem well,
the AI is so good at this deal to like read the code and understand my ideas.
I don't have to like explain it again.
Or if I explain it again, I might like make mistakes that like wouldn't get across
exactly the idea that I have in my head.
So in this case, I know that Mario does like shitty coding agent,
which is like actually very much not shitty coding agent.
That's called Pi.
I know that he had this plug-in architecture that would load code via.
via GD and because it's all TypeScript.
So it was like,
can you look into this folder and this folder?
And then it just came up with this really insanely good plugin architecture,
again by like being inspired by the people.
And then that's why you have just feeling.
And then I came up with, yeah,
that's what I built last night, basically.
I mean, sounds like this is going to be completely different.
Like, you know, PRs are like in your workflow.
You're not using PRs that much.
As CI is just different.
It's tests are still doing.
There's an more important feedback.
Luke you're using things more like,
weaving instead of code you're talking more about architecture and taste.
It sounds like a pretty big shift to me.
In this world, let's assume you get to the point we're going to hire the next one and two
and three developers on this team.
Let's imagine that this thing gets a life of its own and maybe it's a business as well.
What skills would you look for and what would you advise an experience engineer right now?
Who would you be excited to work with what kind of either expertise, projects would you look
for someone who sounds like who can work in this way
or can pick up this way of working.
Someone who is active on GitHub and does open source.
And someone where I have the feeling that they love the game,
the way you learn in this new world is by like trying stuff.
And it very much feels like a game
where you improve your skills as you get better.
Like a music instrument, you have to like keep trying.
And I, that I'm now this efficient and this fast,
And I don't know, like I think the other day, I had like 600 commits in a single day.
This is like completely nuts.
And it works.
Like it's not like there was a, there was a, somebody did a co-reve and said like, oh, this is actually not slop.
And like, yeah.
Yeah.
A lot of skill that I wanted to.
Yeah.
It's a lot of hard work.
But you need to play with the technology and learn.
And then you will get in the beginning, it might be frustrating.
I don't know.
Kind of like you, you know, you start going to the gym.
it's going to suck.
It's going to be painful.
But very quickly, you get better
and you feel that your workflow gets faster
and then you feel the improvements
and then you get hooked.
But yeah, play.
And yeah, also work hard.
Yeah, I mean, you're putting more hours into this thing.
I've never, right now, I've never worked more.
Even when I had my company,
I've never worked so hard
as I do now, not because I have to, but because it's so addictive and so much fun.
But also because right now I'm like using the moment where it has traction and there's a lot of
people who are pushing me.
And I feel could it be because I think you have a pretty good business sense, not as
in the business business, but seeing when there's an opportunity, there is an opening for
to get traction, right?
Like what you said for people to work in the open right now it seems novel.
you're telling me you don't think you could, even if you wanted to hire, you don't think you could hire people because there's not many people working in the open, clearly, using these things. Fast forward two or three years from now, once a bunch of people start to do it and everyone does it, it's kind of like moot a little bit. So there's also that. A group that a lot of people are worried about is the new grads, the people with no experience who are either in school or about to graduate. Because, of course, you've been an experience engineer. By the time this came around, you know, you have a lot of things to build on.
putting back yourself into shoes of someone like that and knowing what you know now,
what would you recommend of activities that they do, things that they build or try?
And, you know, like, would you recommend on focusing on the fundamentals of software engineering,
on the agents, kind of mixing the two?
I would recommend them to be infinitely curious.
Yes, it's going to be harder to enter this market.
It's absolutely going to be harder.
And you need to build things to gain experience.
I don't think you need to write a lot of code,
but you need to, I don't know,
you know, there's a lot of open source
that is complex that you can check out and learn
and you have an infinitely patient machine
that is able to explain you all the things.
So you can ask all questions,
why was it built this way
to gain system understanding,
but it requires real curiosity.
I don't think universities right now are set up
to teach you that in a really good way.
This is usually something you discover through pain.
It's not going to be easy
are new people.
But they have the benefit
that they are not tainted
by all the experience.
Like they use agents
in ways that we don't even
think about.
Again, because they don't know
that it doesn't work
and by then it probably does.
And also their friends use it
all the time.
Like the other day,
I have this little menu bar app
for cost tracking
on cursor and
cloud code and everything.
And it was a bit slow.
So I was like,
okay,
let's do performance measurement
and my old way is like
I open instruments and click around
and it would just call X's just and do everything by the terminal
that blew me away
I was like I didn't even had to open instruments anymore
and it just like made it faster
and then did like some recommendations
and I'm like all of that sounds good do it
yeah I think we might be underestimating both
like how resourceful people entering
tech have been also how young people
if I think about some of the great companies
started they were very young and obviously very
inexperienced but had a lot of passion. So that's there as well. Yeah, it's, it's a big opportunity.
I'm especially taking, like, it's, I have to take it in, like, but all the things you mentioned
about just your way, you know, we've been code in, not carrying up PR, not carrying out code reviews.
It's a big change because these things have been, been us with, like, again, for like 15 plus years
of your life, they have been. In fact, you know, a lot of it has been kind of, you know, solid building
blocks of PSP, the FDF get, right? Yeah, we need, we need a lot of new things, even
even when I get a PR
I'm actually more interested
in the prompts than in the code
I ask people
to please add the prompts and some do
and I read the prompts more than I read the code
because to me this is
a way higher signal of like how did you get
to the solution what did you actually ask
how much steering was involved
than the actual out to me
this gives me more idea about the output
I don't have to read the code or like
if someone wants a feature I ask for a
prompt request.
Like, write it up really well because then I can just point my agent to the issue and
it will build it.
So because, because the work is the thinking about how it should work and what the details
are.
And if someone else does it for me, I can literally say build and it will work.
And yeah, of course, I think about it, but it will really, or if someone sends me
a PR that just a few fixes, I told people, please don't do that.
It takes me 10 times more time to review that and just have been fixed in, in, in, in,
codex and wait a few minutes.
So there's all these insane things that
would have been completely different.
Even in the beginning,
now we have a one-liner, but
for the last two weeks,
like when it got really traction,
I thought people to just point an agent
at the repository to configure it.
So I didn't have an onboarding,
but we had Claude code based onboarding.
My cloud would like check out the good repository,
read the things and write the configuration for those people
and set everything up so it works.
Like set up a launch agent,
that didn't have the manual setup,
because it was not a priority anymore,
because agents cannot do that for you.
And since the product was built by agents,
they structured it exactly the way agents expect things to be named
and saying there's certain ways that are encoded in the weights,
how they expect things to be named.
And everything is exactly like how they expect,
so they are really good at navigating their product.
So it was not a priority to work on onboarding as much.
I mean, eventually I wanted this magical experience
but it was more important to make sure that your message arrives
and that things don't explode.
So onboarding was literally like, type this prompt into your agent
which is within mind blowing even a year ago.
All right, so to wrap off, we'll do some rapid questions.
So I'll just ask and you tell me what's on your mind.
What's a tool that is not a CLI, not an ID?
It can be physical that you use you like you would recommend.
I buy a lot of gadgets.
And many of them dust away.
But there's this one kind of crappy thing that was not expensive
that gives me almost in limited amount of joy.
And it's like this Android powered photo stand where I can upload pictures
and where it has an email address and friends can send pictures
and it will just show pictures.
And I put a few in my house again.
And I mean, even the animations are a little croppy because it runs Android
and it's terrible from the technology.
But it gives me infinite number of joy
because it is low tech
that just shows pictures
and reminds me of happy moments in my life.
And it was like 200 bucks.
And I don't know.
To be honest, it gets me more joy
than the latest iPhone.
I bought the iPhone 17.
I still haven't unpacked it
because I just, in my head, I wanted it
but then I couldn't get around to it
because it's just a hassle
to like move the Sims around.
And I said like basically no, no feelable benefit.
But like this little,
this little device gives me infinite joy.
What's something that helps you recharge outside of tech,
or just moving away from tech and screens?
What keeps me sane, even if I work crazy hours,
is going to the gym,
even better working with a coach
and leaving my phone in the locker.
And then I really have like a good hour
where I just feel me and I,
And I'm like in the moment and I'm not distracted by notifications or tempted to like touch my phone.
Like we need more time for this.
Or even sometimes I go for a walk and I leave my phone at home and it feels very scary.
It's almost like it's almost like an organ right now.
You know, it's like your body knows where it is.
And if you don't know where your phone is, you freak out.
I'm having a blast.
Love it.
This is great.
Pete, thanks very much.
Well, this was a super interesting conversation.
And it feels to me that how one-person teams built software with AI is already completely different to what we've been used to.
One thing that really caught my attention is how Peter thinks in prompts and not pull requests,
and how he weaves in the code and no longer merges the code.
He doesn't find pull requests all that useful and would rather get prompt suggestions even on GitHub.
I do think we might have to rethink the importance of prompts or at the very least sharing of prompts in software development, the more we use AI.
and AI agents.
Another thing that struck with me was Peter's emphasizing how important is to close the loop.
As Peter explained, the reason AI is so good at coding, but often mediocre at writing,
is because you can validate code.
You can compile it, run test, check the output.
So the secret to making AI system development work well is to design your system to close
the loop and have the AI run the test.
Finally, I was wondering if Peter is in the flow as much even when he's not writing code.
Turns out he is.
He's in the flow more than ever.
and he told me that it's mentally more exhausting
to juggle several AI agents in parallel
than it was just the right code.
My feeling is that someone who was a great developer
without AI can be an excellent kind of code architecture
or a card-oriting person with AI.
This is just a gut feeling I've had so far,
but Peter seems to prove it.
Finally, we should note that Cloudbot is more of a Yolo project
than most production apps,
so take the approaches that we discussed with a grain of salt.
At the same time, I do think that a lot of a Peter does
could well spread to building production
code, except review and validation will become a much more important step in those projects.
If you've enjoyed this podcast, please do subscribe on your favorite podcast platform and on
YouTube. A special thank you if you also leave a rating on the show. Thanks and see you in the
next one.
