[proofplan]
We construct the [vector bundle](/page/Vector%20Bundle) charts from the smooth coordinate charts of $M$. A chart $\varphi: U \to \varphi(U) \subseteq \mathbb{R}^n$ identifies each tangent space $T_pM$ with $\mathbb{R}^n$ by the differential $d\varphi_p$, and these identifications define local trivializations of $\pi^{-1}(U)$. On overlaps, the transition maps are the Jacobian matrices of smooth coordinate changes, so they are smooth maps into $GL(n,\mathbb{R})$. These local trivializations therefore define a [smooth vector bundle](/page/Smooth%20Vector%20Bundle) structure of rank $n$ on $TM$.
[/proofplan]
[step:Construct the local trivialization from a coordinate chart]
Let $(U,\varphi)$ be a smooth coordinate chart on $M$, where $\varphi: U \to \varphi(U) \subseteq \mathbb{R}^n$ is a diffeomorphism onto an open subset of $\mathbb{R}^n$. Define the restricted tangent bundle over $U$ by $\pi^{-1}(U) = \bigsqcup_{p \in U} T_pM$.
For each $p \in U$, the differential of the chart is a linear isomorphism
\begin{align*}
d\varphi_p: T_pM \to T_{\varphi(p)}\mathbb{R}^n \cong \mathbb{R}^n.
\end{align*}
The identification $T_{\varphi(p)}\mathbb{R}^n \cong \mathbb{R}^n$ is the standard one sending a tangent vector at $\varphi(p)$ to its coordinate column in the basis $\partial_{x_1},\dots,\partial_{x_n}$.
Define the map
\begin{align*}
\Theta_\varphi: \pi^{-1}(U) \to U \times \mathbb{R}^n,\qquad \xi \mapsto \bigl(\pi(\xi), d\varphi_{\pi(\xi)}(\xi)\bigr).
\end{align*}
For each $p \in U$, the fiber restriction
\begin{align*}
\Theta_{\varphi,p}: T_pM \to \{p\} \times \mathbb{R}^n,\qquad \xi \mapsto \bigl(p,d\varphi_p(\xi)\bigr)
\end{align*}
is a linear isomorphism because $d\varphi_p$ is a linear isomorphism.
[guided]
The purpose of a vector bundle trivialization is to identify all tangent spaces over a coordinate neighbourhood with one fixed model [vector space](/page/Vector%20Space), namely $\mathbb{R}^n$. A smooth chart already provides exactly such an identification: at each point $p \in U$, the differential of the chart
\begin{align*}
d\varphi_p: T_pM \to T_{\varphi(p)}\mathbb{R}^n
\end{align*}
is a linear isomorphism. Using the standard coordinate basis of $\mathbb{R}^n$, we identify $T_{\varphi(p)}\mathbb{R}^n$ with $\mathbb{R}^n$.
Thus we define
\begin{align*}
\Theta_\varphi: \pi^{-1}(U) \to U \times \mathbb{R}^n,\qquad \xi \mapsto \bigl(\pi(\xi), d\varphi_{\pi(\xi)}(\xi)\bigr).
\end{align*}
The first component remembers the base point of the tangent vector, and the second component records the coordinate components of the tangent vector in the chart $\varphi$.
Now fix $p \in U$. On the fiber $T_pM$, this becomes
\begin{align*}
\Theta_{\varphi,p}: T_pM \to \{p\} \times \mathbb{R}^n,\qquad \xi \mapsto \bigl(p,d\varphi_p(\xi)\bigr).
\end{align*}
Since $\varphi$ is a coordinate chart, $d\varphi_p$ is a linear isomorphism. Therefore $\Theta_{\varphi,p}$ is a linear isomorphism from the fiber $T_pM$ onto the model fiber $\mathbb{R}^n$ over $p$.
[/guided]
[/step]
[step:Write the inverse trivialization explicitly]
Define
\begin{align*}
\Theta_\varphi^{-1}: U \times \mathbb{R}^n \to \pi^{-1}(U),\qquad (p,a) \mapsto d(\varphi^{-1})_{\varphi(p)}(a),
\end{align*}
where $a \in \mathbb{R}^n$ is regarded as an element of $T_{\varphi(p)}\mathbb{R}^n$ under the standard identification. The image lies in $T_pM$ because $\varphi^{-1}$ maps $\varphi(U)$ to $U$ and $\varphi^{-1}(\varphi(p)) = p$.
For $\xi \in T_pM$, the chain rule gives
\begin{align*}
d(\varphi^{-1})_{\varphi(p)}\bigl(d\varphi_p(\xi)\bigr) = d(\varphi^{-1} \circ \varphi)_p(\xi) = d(\operatorname{id}_U)_p(\xi) = \xi.
\end{align*}
For $(p,a) \in U \times \mathbb{R}^n$, again by the chain rule,
\begin{align*}
d\varphi_p\bigl(d(\varphi^{-1})_{\varphi(p)}(a)\bigr) = d(\varphi \circ \varphi^{-1})_{\varphi(p)}(a) = d(\operatorname{id}_{\varphi(U)})_{\varphi(p)}(a) = a.
\end{align*}
Hence $\Theta_\varphi$ is a bijection over $U$, and its restriction to each fiber is linear.
[/step]
[step:Compute the transition maps on chart overlaps]
Let $(U,\varphi)$ and $(V,\psi)$ be smooth coordinate charts on $M$, and set $W = U \cap V$. On $W$, the transition map between the two trivializations is
\begin{align*}
\Theta_\varphi \circ \Theta_\psi^{-1}: W \times \mathbb{R}^n \to W \times \mathbb{R}^n.
\end{align*}
For $(p,a) \in W \times \mathbb{R}^n$, the inverse formula for $\Theta_\psi$ gives
\begin{align*}
\Theta_\psi^{-1}(p,a) = d(\psi^{-1})_{\psi(p)}(a) \in T_pM.
\end{align*}
Applying $\Theta_\varphi$ and using the chain rule,
\begin{align*}
(\Theta_\varphi \circ \Theta_\psi^{-1})(p,a) = \bigl(p,d\varphi_p(d(\psi^{-1})_{\psi(p)}(a))\bigr) = \bigl(p,d(\varphi \circ \psi^{-1})_{\psi(p)}(a)\bigr).
\end{align*}
Thus the transition map has the vector-bundle form
\begin{align*}
(p,a) \mapsto \bigl(p,g_{\varphi\psi}(p)a\bigr),
\end{align*}
where
\begin{align*}
g_{\varphi\psi}: W \to GL(n,\mathbb{R}),\qquad p \mapsto J(\varphi \circ \psi^{-1})_{\psi(p)}
\end{align*}
and $J(\varphi \circ \psi^{-1})_{\psi(p)}$ denotes the [Jacobian matrix](/page/Jacobian%20Matrix) of the smooth coordinate transition $\varphi \circ \psi^{-1}$ at $\psi(p)$.
[/step]
[step:Verify smoothness and invertibility of the transition functions]
The coordinate transition
\begin{align*}
\varphi \circ \psi^{-1}: \psi(W) \to \varphi(W)
\end{align*}
is a smooth diffeomorphism between open subsets of $\mathbb{R}^n$. Therefore its derivative depends smoothly on the point of $\psi(W)$, so
\begin{align*}
\psi(W) \to GL(n,\mathbb{R}),\qquad y \mapsto J(\varphi \circ \psi^{-1})_y
\end{align*}
is smooth. Composing with the smooth map $\psi|_W: W \to \psi(W)$ shows that
\begin{align*}
g_{\varphi\psi}: W \to GL(n,\mathbb{R}),\qquad p \mapsto J(\varphi \circ \psi^{-1})_{\psi(p)}
\end{align*}
is smooth.
The value $g_{\varphi\psi}(p)$ is invertible because $\varphi \circ \psi^{-1}$ is a diffeomorphism and its inverse is $\psi \circ \varphi^{-1}$. The inverse matrix is
\begin{align*}
g_{\varphi\psi}(p)^{-1} = J(\psi \circ \varphi^{-1})_{\varphi(p)}.
\end{align*}
Hence all transition functions are smooth and $GL(n,\mathbb{R})$-valued.
[/step]
[step:Conclude the vector bundle structure and its rank]
The maps $\Theta_\varphi: \pi^{-1}(U) \to U \times \mathbb{R}^n$, as $(U,\varphi)$ ranges over the smooth atlas of $M$, are local trivializations over an [open cover](/page/Open%20Cover) of $M$. Each trivialization is fiberwise linear, and on overlaps the transition maps are smooth maps of the form
\begin{align*}
(p,a) \mapsto \bigl(p,g_{\varphi\psi}(p)a\bigr)
\end{align*}
with $g_{\varphi\psi}: U \cap V \to GL(n,\mathbb{R})$ smooth.
These data satisfy the defining compatibility conditions for a smooth vector bundle with model fiber $\mathbb{R}^n$. The fiber over $p \in M$ is $T_pM$, which has dimension $n$. Therefore $\pi: TM \to M$ is a smooth vector bundle of rank $n$. The construction uses only the smooth atlas of $M$ and the differentials of its chart maps, so this is the canonical smooth vector bundle structure on the tangent bundle.
[/step]