18:22Yeah, so this was kind of, like, the
big claim I tried to make in the talk,
18:26which I do believe, but it's definitely
a claim that, like, needs a lot of
18:29evidence and a lot of, like, questioning.
18:31But at the moment, I think I'm still
pretty firmly in this camp, where
18:34I genuinely believe language models
make a significant difference to end
18:39user programming being more possible.
18:41when language models first started getting
popular, and, like, we realized they were
18:44really good at code assistance, like,
They're questionably good at other things.
18:47I'm not going to say that they generate,
like, useful articles for the web.
18:50I don't believe they do.
18:52But for code assistants, it's like,
anyone who uses Copilot regularly, or
18:56Curso, or any of these other assistants,
I think you would have to be crazy to
18:59claim that they are not, like, speeding
you up, like, helping you debug things.
19:04I know a lot of senior developers
are like, well, I could just do that.
19:06myself.
19:07And it's like, well, yes,
you are a senior developer.
19:08you understand the bugs
in the way that I do not.
19:11like, I've started to joke, I'm
kind of a mediocre developer without
19:14language models, but with them,
I'm, like, almost a full developer.
19:17I'm, like, actually, I can pretty
much do anything you assign me to.
19:21Like, in the world of front end, like, a
little bit of making, you know, back end
19:24calls, but, like, it just, it just knows,
you know, I just ask what I want it to do.
19:29And it pretty much gives me working code.
19:30Sometimes I do have to go in and debug it
or like, ask it to do revisions, but like,
19:35the amount it can do that I could not
do on my own is really just astonishing.
19:38it's very much a sort of
subjective, personal qualia.
19:43Everyone that I talk to, like, feels
this way, especially people who aren't
19:47great programmers, like more experienced
programmers are more skeptical, like,
19:50oh, this is causing more bugs, but
I don't know, if you're more on the
19:53junior end, you just feel like you've
just been given a superpower and you
19:56can like, make way more than you could.
19:59so this big claim is that like, not,
I'm not saying all normal people, right?
20:03As I said in my talk, there are a bunch
of normal people out in the world who just
20:07don't, they don't care about programming
and we shouldn't force them to.
20:10Like, I think there was this
moment where we were like, everyone
20:12needs to learn to code, right?
20:14Every nurse needs Every, like,
accountant, every teacher,
20:17you all have to learn to code.
20:18And they were like, well, we
don't want to learn to code, like,
20:20why are you making us do this?
20:21So I feel like we should just leave
people alone who don't want to code.
20:24Like, let them do their other very
important jobs in the world that
20:26have nothing to do with computers.
20:28but there's a group, and this is
what I call the Barefoot Developer
20:31Group, who really do want more
agency over their computers.
20:34They're, like, currently using
Airtable and Notion and like
20:38spreadsheets and like doing really
crazy, complex things with them.
20:41But they also hit the
limits of these apps.
20:43Like, I feel like I have a lot of friends
in this category who have a lot of
20:46software needs and the software doesn't
meet their needs and they keep being like,
20:50well, how do I make it like do this thing?
20:51And I'm like, well, you can't, like this
other company controls that software.
20:54You can't.
20:55add that feature onto it.
20:57but these people, if given access to
a language model, and kind of taught
21:00how to prompt it in a way where they
can clearly ask for what they want,
21:04it can write the code for them.
21:05It can build the app for them.
21:07If we, like, get the infrastructure
right, it could set up some kind of
21:10local-first database, ideally, but
some kind of database, put it on a
21:14URL, let, let people log in, store
data somewhere, let, you know, figure
21:20out a way where we can have language
models set up, the schema for them.
21:23It's like, It doesn't have to be
super complex stuff, it might just be
21:26something like, Hey, help me organize
a trip for 12 people for a week.
21:30Like, that involves a lot of logistics
and ops and planning, or like, you know,
21:33help me plan meal prep and groceries.
21:35There's a thousand apps for this, but
what if you could just prompt your
21:38own, tweak every single feature that
you wanted, like make it work just the
21:41way that you want the thing to work.
21:43These are not complex situations,
but tons of people have these basic
21:46needs and language models could
easily get them to working local
21:50apps that they own and control.
21:52Right.
21:52That makes a lot of sense.
21:53And I think this kind of puts it
nicely into two compounding steps.
21:58Step number one is even for more
experienced engineers like myself, Like
22:03even for me, it would be too much to
build all of like these ideas that I
22:08have in my mind, because I know like,
okay, this is easy enough to think about,
22:13but to build, you need to wrestle with
all of those layers of complexity that
22:17will just like drown you at some point.
22:19And this is where step one is local-first,
simplifies everything to the core again,
22:24that it becomes feasible, but it's
feasible, but you still need to have
22:29quite a bit of experience to build it.
22:31And now step number two is LLMs that
just bring down the barrier to entry
22:36by so much, by having someone who
knows what they want to build and
22:40having a little bit of an intuition,
how computers work, et cetera, and how
22:44to put those things together, who are
not afraid to get some autocomplete.
22:49Sure, I have no idea what it is, but let
me try and then, like, iterate from there.
22:53And this is the second part where LLMs
bring down the barrier to entry and now,
22:58like, make this possible on a wider scale.
23:00Did I get this correctly?
23:02Yeah, yeah, exactly.
23:03I think I should add on too that, I just,
I showed in my talk some demos from both
23:07Vercel's V0 and TLdraw drawing interface.
23:11Because as much as I was saying, you know,
of course you'll describe and text what
23:14you want, You can do that, but often it's
sometimes hard, or there's an ambiguity.
23:18but with TLdraw, and with, uh, B0 from
Vercel, you're drawing a visual interface.
23:24Like, in TLdraw, you can,
like, draw boxes, right?
23:26And you can, like, point to a button
and say, when I click this button,
23:28you know, increment this counter.
23:30And, like, when I click this button,
start a timer for three minutes.
23:32And you can just sketch out what
you want with these instructions.
23:36And then they have this make real button,
so you select what you're drawing.
23:40You click make real and
it makes the app for you.
23:42And like, it doesn't work a
hundred percent of the time, but
23:45like 90 percent and these models
are only going to get better.
23:48So we would hope if you get closer to a
hundred percent, it just builds exactly
23:51what you told it to build and it works.
23:52And it's like, it's on a URL.
23:54It's like, it's a real app.
23:55You can click it, all the things work.
23:57it's hard to look at that and still
be skeptical that we're not at some
24:01step change in end user programming.
24:04Definitely.
24:04and I think this is like this going
beyond the medium of auto completing
24:09code, but that you have like the modality
of like a visual modality where you
24:14can draw a napkin sketch and from that
napkin sketch, you have like some working
24:20React code that you now like I feel
like the next step in the evolution of
24:25putting together all of those systems.
24:27It would be something like TLdraw,
make it real, but for your local-first
24:33data model that you basically describe
like your, your use cases, or you
24:37could even use your, your visual
sketches that you've made through
24:41TLdraw, feed it into an LLM and say
like, Hey, can you suggest to me Data
24:47stuff that I'll probably need for this.
24:49And it might spit out some code
or it might spit out like some,
24:53some other artifacts that you can
now use to iterate from there.
24:56So I think that multimodality
just brings down the barrier to
24:59entry even more, as well as making
experienced people more productive.
25:04So now it really clicks how the, that
answers the question of like, why now?
25:09Since I think the idea was
compelling before as well.
25:13But with all of that complexity and, with
all of the learning curve that needs to
25:18be done before, that wasn't feasible.
25:21So, uh, I love that.
25:23Like I had also cited in my essay, uh,
an essay written by, well, I guess more
25:27of a short post written by Clay Shirky
in I don't want to mess up the year.
25:32Was it 20 2004 or 2014?
25:34I want to bet 2014.
25:35called Situated Software, which
was about which was the same
25:38claim as Barefoot Developers.
25:39Like, software should be situated
in the local environment that where,
25:42like, it's the people that it serves,
it should have been made there.
25:45He made this idea at a time where
it was, like, completely infeasible.
25:49Just, like, No one could build
sophisticated software, which
25:52didn't have the tooling, like
we hadn't gotten this far.
25:56And, like, what would be the interface
for normal people to build this program?
25:59It was one of those, like, wouldn't
this be nice kind of concepts.
26:03And now it does feel like, yeah, we've
reached this point where it's like, wow.
26:07The coming together of like better
tooling, like reducing complexity,
26:10like better abstractions, plus
language models trained on all those
26:14abstractions and all that tooling.
26:15It is like, Oh, this is possible.
26:18Yeah, that, that makes so much sense.
26:20I can't wait to see like how
quickly that's going to unfold.
26:25This was also a big part of what we
try to do with the conference is, not
26:30just get the, people who are already
excited about local-first from, and who
26:35are trying to figure out how to build
it in the best way, but also people
26:39who've maybe heard about local-first
before, or haven't heard about it before,
26:44and that they get to understand what
could be the possible impact of that.
26:49And I think this is where you've
just knocked it out of the park
26:53with, at the end of the day, with
your talk, where I think before.
26:57Your talk, everyone was already
excited about like, Oh, this is going
27:01to make software development so much
easier, brings down the level of
27:05entry for people to build local-first.
27:08And it also enables next generation
user experience, like Linear, et cetera.
27:14And that's also why I initially got
excited about local-first to build sort
27:19of like a really cutting edge, next
generational products with Overtone.
27:23But I think you really expanded
the horizon even further, what
27:28on a kind of societal level,
local-first could have an impact for.
27:33So, do you have some theory of
like, what are some, like milestones
27:38that you would like to see happen
there as sort of success stories?
27:42Yeah, um, I talked about a bit
at the end of my talk that we're
27:45missing a few bits of like tooling
or infrastructure, I think, to make
27:48this work, because at the moment,
what you can do easily with language
27:51models is prompt front end code, right?
27:54It's mostly what people
are doing, like even a 4.
27:573.
27:575 Sonic came out, I think,
a week ago, and it's really,
28:01really good at code generation.
28:02People are making crazy stuff, and I
have this whole fat collection on Twitter
28:06every time someone makes something.
28:07I'm just, like, saving all this stuff as
evidence of, like, here's where we're at.
28:11Here's the current state of things.
28:12But it's just making
front end code, right?
28:14It's giving you React
components, interactive, it
28:17looks cool, it looks capable.
28:18But it's not connected to a back end.
28:20Connecting it to a back end would
be like a whole different thing.
28:23Um, user authentication and logging
in would be a whole different thing.
28:27Like security, like
multiplayer collaboration.
28:30Like, there's just, there's all this other
stuff to have a real working product.
28:34Like, deployed to a real domain.
28:36Imagine if you're not a software
developer, like, you would never figure
28:40out how to glue that stuff together.
28:41No matter how much you have, like,
chat GPT helping you and, like, you
28:44asking it questions and trying to put
together a working piece of software.
28:48You wouldn't even know
those things exist, right?
28:49Like, no one knows what a database
is if you don't work in software.
28:53so we're missing, all these
other pieces of tooling.
28:56I think what I'm waiting to see is,
like, I don't know, you know, I've kind
29:00of tried to put this idea out into the
world, tried to make more people aware
29:03of like, hey, we should be trying to
build things to serve these developers.
29:06and I know of two projects, Jazz and
DXOS, who are both at local-first, Jess
29:11and, um, Anselm are hopefully building
this kind of thing, which is like some
29:16sort of full stack local-first, like,
framework for people to build within.
29:21I think if you could train a model on
those kinds of things, where it's like,
29:25You're talking to a language model,
but its whole goal is to get you to
29:28build a full stack local-first app.
29:30That would be the goal for me.
29:32That's like, oh, I want to come in,
I want to be able to sketch, I want
29:35to be able to prompt things in it.
29:36and I want it to sort of be architected
and trained in a way where it's
29:40acting like a product manager, like
helping me move towards my final goal.
29:44Like, you know, it's It gets me
to tell it the requirements and
29:47it gets me to tell it what I want.
29:49And then it's doing, it's making
technical decisions for me, right?
29:52It's like, hey, I'm just going to
figure out how to model this data.
29:55I'm going to figure out how
to make this front end code.
29:57All you have to worry about is looking
at the end result and telling me,
30:00yes, no, you know, what should I edit?
30:02What needs to change?
30:03And just looping.
30:04Like that, that's, that's what I'm
waiting for someone to build, honestly.
30:08I agree.
30:08I think there's sort of the, this gap
in going from A to B where like, A,
30:14where we're right now, where I think
we have the conceptual right ideas,
30:20how things can be simpler, and a few
pioneers such as the folk from linear.
30:27And a few other products who have
already had those right ideas, but
30:31they're technically very savvy so
that they could like build that new
30:36hammer, that new framework themselves
so they can live in the future.
30:41And, then you have the, the other
group, what you've described with like
30:45DxOS, Jazz, and there's many other
technologies who are not primarily
30:50building it for their own apps.
30:51But to kind of build this for
developers, so that the next Linear
30:56has a much easier time, can focus
on the product and doesn't need to
30:59build off like the underlying tech.
31:01So that's coming along, and once
that is there, then we're kind of
31:06halfway there, since at that point,
now the AI also needs to pick this up.
31:11Since, I think this is why the
AIs are so great at bringing down
31:16the barrier to entry for things
like React development, et cetera.
31:20There's already a lot of training data
out there, whereas for local-first,
31:25this is all like very little training
data, all like very, very new.
31:30So I think once we have those ingredients
and the AIs can also integrate that into
31:36their more encompassing, solution corpus,
then I think we've, I guess like to, to
31:44a much more comprehensive degree enable
a Barefoot developer, since I guess
31:48right now a Barefoot developer already
lives in the future by, things like
31:54front end React programming, et cetera.
31:56That already works super well for them.
31:59And then they get sort of this
glimmer of hope, Oh, a local-first
32:03is going to make everything simpler.
32:05But the, the fact of reality today
is you either need to use a very
32:10Early technologies such as jazz, et
cetera, and where you still need to
32:14be a bit more on the more expert y
end, or you need to wait a little
32:18bit until all of that is AI ready.
32:22But I, I like the way how you
think about that sort of like as
32:25a big next step function change.
32:28Yeah, I expect they
might meet in the middle.
32:30Like what I think will happen is, like,
people will build these kind of like
32:33full stack language model helpers, which
are not local-first, of course, right?
32:37They will just build one that like
uses cloud databases entirely.
32:40And it's like, all like
not, doesn't work offline.
32:43and then the local-first tools will
get more mature and maybe in a few
32:46years, like these come together
in the middle so that you have.
32:49You know, something for barefoot
developers that just has natural
32:52language inputs and visual inputs
for them to define what they want.
32:56and the stack is, like,
mature enough, right?
32:59We have, like, stable enough technologies
that they get all the stuff around
33:02local-first, like, CRDTs, all the
fancy stuff for free, just because we,
33:06like, have enough training data and
we figured out the complexities of it.
33:10I don't want to put too many timelines
on it, but I'm like, five years?
33:14Maybe less.
33:14I don't know.
33:15Some people think that we're all
going to die from AGI in five years.
33:17So maybe just speed up timelines, like,
but I think reasonably five years.
33:24, I think a very frequent philosophical
question that one can entertain
33:28is like, my life as a programmer
has certainly become a lot better
33:34over the past couple of months and
years with things like Copilot and
33:38Cursor and, ChatGPT, et cetera.
33:41I can like take a screenshot of an error
message and it gives me some useful clues.
33:47so that is.
33:48Definitely getting better, but is this
just like a very nice time before, I
33:54don't have to do my, anyway, this is
not a question to debate here, but
33:58it's certainly also, I'm not immune
to, to those sort of thoughts as
34:01well, but I'm, I'm choosing to see
the world as like glass half full.
34:06and, I'm a tool builder, so I'm excited
for new tools that make me more productive
34:11and, make me more capable in doing stuff.
34:15Yeah.
34:16I mean, I was gonna say, if we,
if we automate all the code,
34:19we'll all just become designers
and product managers, you know?
34:21Like, we'll just, we'll just help.
34:24Help the AIs, like, write the
code and we'll just be like,
34:26Hey, you know, focus on this.
34:28This is your priority.
34:29You know, this usability
piece isn't working very well.
34:31I still think it would scratch the
same itch that a lot of developers have
34:34around like building beautiful systems
and like solving like logical puzzles.
34:38Cause it's still design.
34:39You're solving a lot of logical puzzles.
34:41I don't know.
34:42So maybe that's why I'm not
as afraid of like the whole.
34:44Automation fears, but I also
think they're ridiculous.
34:46Like we'll never get to a hundred percent
code automation and it seems crazy.