So far we've worked on decomposing vectors in an orthogonal (or orthonormal) basis. But you don't need and entire basis to do the decomposition. If you have a single vector ${\bf v}$, then you can decompose an arbitrary vector ${\bf x}$ as $${\bf x} = c {\bf v} + {\bf x}_\perp,$$ where ${\bf x}_\perp$ is orthogonal to ${\bf v}$, and $c = \frac{\langle {\bf v} | {\bf x} \rangle}{\langle {\bf v}| {\bf v} \rangle}$, and we have the projection operator $$P_{\bf v} = \frac{|{\bf v} \rangle \langle {\bf v}|}{\langle {\bf v}|{\bf v} \rangle}.$$ If we have an orthogonal set ${\mathcal{B}} = \{ {\bf b}_1, \ldots, {\bf b}_k\}$, then we can decompose ${\bf x}$ as $${\bf x} = c_1 {\bf b}_1 + \cdots + c_k {\bf b}_k + {\bf x}_\perp,$$ where ${\bf x}_\perp$ is orthogonal to all of the ${\bf b}_j$ vectors and $c_j {\bf b}_j = P_{\bf b_j} {\bf x}$. The first video goes over these decompositions and how they work.
Using the tools from the first video, we now go over the Gram-Schmidt process for converting an arbitrary basis $\{ {\bf x_1}, {\bf x_2}, \ldots, {\bf x_n} \}$ to an orthogonal basis $\{ {\bf y_1}, {\bf y_2}, \ldots, {\bf y_n} \}$ to an orthonormal basis $\{ {\bf z_1}, {\bf z_2}, \ldots, {\bf z_n} \}$.
The key idea is to recursively decompose each ${\bf x_j}$ as $${\bf x}_j = c_1 {\bf y}_1 + \cdots + c_{j-1} {\bf y}_{j-1} + ({\bf x_j})_\perp$$ and let $${\bf y}_j = ({\bf x_j})_\perp = {\bf x_j} - \sum_{i=1}^{j-1} P_{\bf y_i} {\bf x_j}.$$ To get an orthonormal basis, just take ${\bf z}_j = {\bf y}_j/|{\bf y}_j|$. There are two extremely common mistakes that you need to avoid: