WEBVTT

NOTE Sentence-level transcript of https://www.youtube.com/watch?v=UlFB6efYN5Q

NOTE One cue per sentence. Cue ids are the line anchors on /transcripts/UlFB6efYN5Q.html. A cue ends where the next begins, or 2 s after its last word.

s1
00:00:02.000 --> 00:00:04.600
Hello, and thank you for being here.

s2
00:00:04.600 --> 00:00:11.200
I'm Roberto, and today I'm going to tell you this song of types and agents.

s3
00:00:11.200 --> 00:00:21.400
Uh basically a song that speaks about languages that fight each other to conquer what's the throne in the AI realm.

s4
00:00:21.400 --> 00:00:27.960
And how I think that TypeScript might actually be winning this war.

s5
00:00:27.960 --> 00:00:30.520
But let's start from the beginning.

s6
00:00:30.520 --> 00:00:39.400
A few years ago, whenever someone was building uh in AI, they were certainly using Python.

s7
00:00:39.400 --> 00:00:41.600
Like there was no doubt.

s8
00:00:41.600 --> 00:00:51.680
All the other languages were bowing to Python because um because of its dominion uh over the AI world.

s9
00:00:51.680 --> 00:01:05.040
And then, when in 2022 ChatGPT was released, everybody started wondering and starting understanding that AI was becoming something more.

s10
00:01:05.040 --> 00:01:09.760
Was going outside of the bubble that lived for years.

s11
00:01:09.760 --> 00:01:14.120
And started to becoming something more ambitious.

s12
00:01:14.120 --> 00:01:22.440
And together with it, Python, which was the standard language for AI, became more ambitious as well.

s13
00:01:22.440 --> 00:01:34.360
And that's how in 2024 uh GitHub actually claim claimed the ladder and became the most popular language on GitHub.

s14
00:01:34.360 --> 00:01:37.160
So, you know, everybody was happy.

s15
00:01:37.160 --> 00:01:40.680
Python finally reached the top.

s16
00:01:40.680 --> 00:01:48.720
But little did they know that there was another contender for the throne.

s17
00:01:48.720 --> 00:01:54.440
Another contender that was rising to challenge the claim that Python had on the throne.

s18
00:01:54.440 --> 00:02:01.560
And this contender, as you may have guessed by now, was indeed TypeScript.

s19
00:02:01.840 --> 00:02:05.560
But, before talking about this, let me present myself.

s20
00:02:05.560 --> 00:02:07.560
My name is Roberto.

s21
00:02:07.560 --> 00:02:12.959
I'm the CTO and co-founder of Reto, a context layer for AI agents.

s22
00:02:12.959 --> 00:02:23.600
And I'm also the EU ambassador for AI's Pratic, a global community of AI builders meeting once per month to discuss the latest news in AI.

s23
00:02:23.600 --> 00:02:28.920
I'm also a long-time JavaScript then turned TypeScript developer.

s24
00:02:28.920 --> 00:02:35.360
And that's basically why I am talking about TypeScript today.

s25
00:02:35.360 --> 00:02:38.680
So, let's begin.

s26
00:02:38.680 --> 00:02:43.080
As we said, AI started moving up to the stack.

s27
00:02:43.080 --> 00:02:54.800
It was moving from the infrastructure layer of these models, machine learning, and all related ecosystem towards the application layer.

s28
00:02:54.800 --> 00:03:06.840
This means that AI stopped being something that you train, and it started being something that you ship inside your application.

s29
00:03:06.840 --> 00:03:13.480
Applications started featuring AI, starting having features powered by AI.

s30
00:03:13.480 --> 00:03:19.480
Which basically means that we started having applications that think.

s31
00:03:19.480 --> 00:03:24.600
And the application layer was not Python's.

s32
00:03:24.600 --> 00:03:32.200
The application layer has been TypeScript's for pretty long time now.

s33
00:03:32.720 --> 00:03:39.239
Don't get me wrong, like I still think that Python has its own application.

s34
00:03:39.239 --> 00:03:50.000
Like I still think that the brain of the of the agent and all the of all the AI world is actually still owned by Python.

s35
00:03:50.000 --> 00:03:54.680
All the training, the research, the GPU serving is all Python's.

s36
00:03:54.680 --> 00:04:00.120
Uh Has been Python's all along and it's going to be Python's for long time yet.

s37
00:04:00.120 --> 00:04:05.640
And um what's changing is actually the application layer.

s38
00:04:05.640 --> 00:04:14.040
Like few years ago, if you wanted to build something with AI built in the application, you had to use Python.

s39
00:04:14.040 --> 00:04:16.959
But today, that's not the case anymore.

s40
00:04:16.959 --> 00:04:20.239
And that's all uh the shift is about.

s41
00:04:20.239 --> 00:04:24.000
TypeScript doesn't just own, you know, the UI or the back end.

s42
00:04:24.000 --> 00:04:29.919
Started owning also the agentic layer of our application.

s43
00:04:31.000 --> 00:04:41.320
And that's why in August 2025, TypeScript TypeScript actually passed Python as the most used language on GitHub.

s44
00:04:41.320 --> 00:04:47.960
And the funny thing is that the reason that the GitHub reports gave was the same.

s45
00:04:47.960 --> 00:04:53.960
Like in 2024, it said AI leads Python to the top language.

s46
00:04:53.960 --> 00:05:01.280
While in 2025, it said AI leads TypeScript as the first language.

s47
00:05:01.280 --> 00:05:10.200
And in both cases, as you can see, the global developers, the number of global developers were surging.

s48
00:05:10.200 --> 00:05:18.480
In 2020 2025, we even have one new developer joining GitHub every second.

s49
00:05:18.560 --> 00:05:24.120
So, what actually changed in this year?

s50
00:05:24.120 --> 00:05:29.040
Like yeah, we were flooded from like new developers.

s51
00:05:29.040 --> 00:05:37.160
In 2024, these newcomers were reaching for Python, or even maybe existing developers were reaching for Python.

s52
00:05:37.160 --> 00:05:42.080
And in 2025, they reached for TypeScript instead.

s53
00:05:42.400 --> 00:05:48.640
What changed between 2024 and 2025 was actually coding agents.

s54
00:05:48.640 --> 00:06:00.680
The coding agents grew up like we saw established um we saw the players establishing themselves like Lava Cloud Code, Cursor, Codex.

s55
00:06:00.680 --> 00:06:04.280
They became the default way to build applications.

s56
00:06:04.280 --> 00:06:14.920
And the default way to uh to which these coding agents actually built the applications was TypeScript.

s57
00:06:14.920 --> 00:06:30.480
And you know since every new app pretty much every new app is an agent today because they ship these AI and agentic capabilities, they are hungry to embed AI

s58
00:06:30.480 --> 00:06:32.440
inside themselves.

s59
00:06:32.440 --> 00:06:41.519
The demand to have more AI integrations, more and more AI integrations doesn't fall on through Python.

s60
00:06:41.519 --> 00:06:41.640
[clears throat]

s61
00:06:41.640 --> 00:06:45.600
It falls on TypeScript.

s62
00:06:47.400 --> 00:06:54.880
And pretty much all the tools that we use to build AI today already run on TypeScript.

s63
00:06:54.880 --> 00:07:05.680
We even saw an AI lab acquiring a JavaScript runtime like last December Anthropic acquired Bun.

s64
00:07:05.919 --> 00:07:21.000
But still, you know, okay, everybody use is using TypeScript because of the coding agents and we are having more and more demand to build uh AI to embed AI inside TypeScript

s65
00:07:21.000 --> 00:07:22.680
application.

s66
00:07:22.680 --> 00:07:25.040
But does this mean that we should do it?

s67
00:07:25.040 --> 00:07:32.360
Like this is a fair question, like it's an honest question and it's a question worth answering.

s68
00:07:32.360 --> 00:07:38.480
And the answer in my opinion can be yes like for several reasons.

s69
00:07:38.480 --> 00:07:55.040
The first one is that since TypeScript is the default language for coding agents today, we can expect that they will become better and better in in TypeScript because we are having more and more application in TypeScript, which are going to field

s70
00:07:55.040 --> 00:07:58.240
the training of next coding agents.

s71
00:07:58.240 --> 00:08:10.120
And then we are having uh deeper integrations and more native integrations from these coding agents towards TypeScript, and we can expect that the quality of the output in TypeScript

s72
00:08:10.120 --> 00:08:14.120
is going to be better and better from these coding agents.

s73
00:08:14.120 --> 00:08:28.040
Since we're building applications, and uh we want to have like the highest quality of these applications, might make sense to build agents, which are the new kind of applications in TypeScript.

s74
00:08:28.040 --> 00:08:38.960
And also, if you use TypeScript, you are actually tapping into what is probably the richest package manager out there.

s75
00:08:38.960 --> 00:08:48.040
NPM comes with everything, uh pretty much everything, like authentication, payments, UI, infra.

s76
00:08:48.040 --> 00:08:52.600
Like it's uh the deepest up layer tail that there is.

s77
00:08:52.600 --> 00:09:01.960
So, since again, AI is coming towards the application layer, we need to integrate with all these right now.

s78
00:09:01.960 --> 00:09:07.880
And tapping inside NPM is a very convenient way to do that.

s79
00:09:09.200 --> 00:09:18.560
Also, you have by building in TypeScript, you can have one single language throughout all your code base.

s80
00:09:18.560 --> 00:09:22.560
You can have one single code base for the whole application.

s81
00:09:22.560 --> 00:09:28.640
Because you can use TypeScript for your agent loop, for the tools, for the back end service, for the UI.

s82
00:09:28.640 --> 00:09:35.800
While if you use Python, you probably have to split uh split it at least into two services.

s83
00:09:35.800 --> 00:09:41.320
Which means, you know, one service with FastAPI, Pydantic AI, and whatever.

s84
00:09:41.320 --> 00:09:55.040
And then another um separate React application that you need to sync between between these two with a uh with a contract, which you have to maintain and synchronize.

s85
00:09:55.480 --> 00:10:07.200
And speaking of contracts, with TypeScript, you can have one single consistent typing across all your all your application.

s86
00:10:07.200 --> 00:10:18.440
While if you use Python instead, you at some point will stop at a boundary, cuz you will have your agent, maybe your back end, etc. with one consistent typing,

s87
00:10:18.440 --> 00:10:30.720
and then you will have your React application or Vue or whatever with um another set of typing at which you need to synchronize between the two.

s88
00:10:30.920 --> 00:10:38.160
So, if you use TypeScript, you can use Zod as a single schema throughout all your application, which is very convenient.

s89
00:10:38.160 --> 00:10:40.200
You can define a type once.

s90
00:10:40.200 --> 00:10:48.360
You can use this type in the back end and uh in the model, and you can use the same type in your UI.

s91
00:10:48.360 --> 00:10:52.240
One type, checked and went.

s92
00:10:53.280 --> 00:11:05.240
Also, like it makes sense to build in TypeScript today uh also in the AI ecosystem because we are seeing a very surge in in the AI ecosystem as well.

s93
00:11:05.240 --> 00:11:18.880
Like take the Versatile AI SDK, for example, you can see that in just 1 year, it went from 1.6 million to 15.1 million downloads per week, which is between 9 and 10x

s94
00:11:18.880 --> 00:11:21.839
in just 1 year.

s95
00:11:22.520 --> 00:11:24.920
So, finally, I'd to put everything together.

s96
00:11:24.920 --> 00:11:37.440
In my opinion, yes, it makes sense to build AI agents in TypeScript because you have like a uh you can leverage the the de facto default language for coding agent.

s97
00:11:37.440 --> 00:11:42.520
You can have one single language for your whole application and your whole code base.

s98
00:11:42.520 --> 00:11:46.720
You can tap into uh fast-growing AI ecosystem.

s99
00:11:46.720 --> 00:11:51.160
You can have consistent typing uh across all your application.

s100
00:11:51.160 --> 00:11:57.960
And you can tap into the richest package manager that there is, NPM.

s101
00:11:59.680 --> 00:12:05.880
So, um you might ask was all this unpredictable?

s102
00:12:05.880 --> 00:12:12.760
And the answer is actually no. Someone predicted this uh many years ago, almost 20 years ago.

s103
00:12:12.760 --> 00:12:20.960
Jeff Atwood said, "Any application that can be written in JavaScript will eventually be written in JavaScript."

s104
00:12:20.960 --> 00:12:32.960
And you know, as you as you probably know in the last few years, we have a corollary of this that any application that could be written in JavaScript will eventually be written in TypeScript.

s105
00:12:32.960 --> 00:12:42.120
And so basically, we can say that any application, even the gigantic ones, will be written in TypeScript.

s106
00:12:43.800 --> 00:12:47.839
And be mindful that what I showed you today is just the beginning.

s107
00:12:47.839 --> 00:12:50.839
Like, we are just getting started.

s108
00:12:50.839 --> 00:13:02.240
You can project this in a few years and you can see that on the application layer, the difference between TypeScript and Python is actually going to widen from here.

s109
00:13:02.600 --> 00:13:09.680
So, um as I said, the model can still run on pip.

s110
00:13:09.680 --> 00:13:20.120
But the agents, which is the application layer today, so the agent that called the models will probably ship on NPM.

s111
00:13:20.120 --> 00:13:25.280
So, everything on the inference layer, you know, it's going to be Python.

s112
00:13:25.280 --> 00:13:30.720
But everything but else, probably all TypeScript.

s113
00:13:31.200 --> 00:13:34.240
Let me leave you with one recommendation then.

s114
00:13:34.240 --> 00:13:36.640
Um keep training in Python.

s115
00:13:36.640 --> 00:13:41.560
As I said, I don't see that's one going away soon.

s116
00:13:41.560 --> 00:13:47.200
But please consider building the agents and the applications in TypeScript.

s117
00:13:47.200 --> 00:13:55.800
Because if you don't do that now, if you overlook TypeScript, you are probably going to fall behind.

s118
00:13:56.000 --> 00:13:58.400
That was all on my side today.

s119
00:13:58.400 --> 00:14:01.520
I thank you all for your listening.

s120
00:14:01.520 --> 00:14:05.520
And please scan the QR code for the slides.

s121
00:14:05.520 --> 00:14:11.680
Reach out to me if you agree or if you disagree, if you have any feedback, and let's get in touch.

s122
00:14:11.680 --> 00:14:13.200
Thank you.

s123
00:14:13.200 --> 00:14:15.200
Bye-bye.
