WEBVTT

00:02.040 --> 00:07.840
In this lecture we're going to create a to do list, not a to do list app, but actually a to do list

00:08.040 --> 00:10.280
for the application that we're trying to build.

00:11.000 --> 00:18.360
Now that we have a software specification, we could theoretically go in cursor and say build this and

00:18.360 --> 00:21.000
probably cursor will do a pretty decent job.

00:21.440 --> 00:24.600
For smaller projects this would be totally feasible.

00:24.640 --> 00:30.800
However, the experience has shown that it is best to work in small increments, one feature at a time.

00:31.200 --> 00:36.080
I know that you're probably very excited and you just want to start building, but do not underestimate

00:36.080 --> 00:37.880
these initial steps that we're doing.

00:38.280 --> 00:44.080
Decisions that we make right now will have impacts for the app along the way.

00:44.600 --> 00:50.480
So what we're going to do in this lecture is we're going to use this specification and ask an LLM like

00:50.480 --> 00:56.560
ChatGPT to create a step by step to do list attached as a resource to this lecture, you're going to

00:56.560 --> 01:01.560
find the following prompt, which pretty much tells ChatGPT to take this specification and create a

01:01.600 --> 01:02.480
to do list.

01:02.920 --> 01:08.640
So I'm going to provide here right below the specification which is going to be a copy paste from what

01:08.640 --> 01:09.240
I have.

01:09.280 --> 01:14.080
It's also possible to continue the previous conversation, but I did make some changes to the specification

01:14.080 --> 01:16.640
to make sure that it fits my particular needs.

01:16.880 --> 01:20.600
So for that reason, continuing that conversation doesn't really make a lot of sense.

01:20.960 --> 01:25.560
So what we're going to get here is a to do list in the markdown format.

01:27.080 --> 01:30.240
And this is again something that we can easily go ahead and copy.

01:30.560 --> 01:35.400
Again, I'm going to make some changes to this, but I'm going to store everything in a file inside

01:35.400 --> 01:36.160
a project.

01:36.360 --> 01:38.800
So the file is going to be here inside docs.

01:38.800 --> 01:42.600
And the name of the file is going to be todo.md.

01:43.080 --> 01:46.480
And inside here I'm going to paste the to do list.

01:46.680 --> 01:50.600
And you're going to find this todo list as a resource to this lecture as well.

01:51.600 --> 01:57.920
So after a bit of back and forth with ChatGPT and a bit of editing, this is how the to do list looks

01:57.920 --> 01:58.360
like.

01:58.400 --> 02:05.960
It is structured in multiple phases, and each phase contains an item in the list which is currently

02:05.960 --> 02:12.760
marked as not done, but also acceptance criteria to help understand if that particular item has been

02:12.760 --> 02:14.520
properly implemented or not.

02:15.000 --> 02:20.560
It does take a bit of time to create all this and to review this information, but it is super important

02:20.560 --> 02:21.520
for later on.

02:21.840 --> 02:26.880
Again, you're going to find both the specification and the to do list that I'm going to use in the

02:26.880 --> 02:29.720
upcoming steps as a resource to this lecture.

02:30.000 --> 02:35.960
Just keep in mind, because Llms are non-deterministic, even if you use this exact specification and

02:35.960 --> 02:42.440
this exact to do list, your application will look slightly different and may encounter slightly different

02:42.440 --> 02:45.320
problems than what I'm going to show in the upcoming lecture.
