[step:Unpack openness in the metric topology to obtain a ball around each point]
Let $\tau_d$ denote the metric topology induced by $d$ on $X$. By definition, the collection
\begin{align*}
\mathcal{B}_d := \{B_d(a,s) : a \in X \text{ and } s > 0\}
\end{align*}
is a basis for $\tau_d$.
Assume $U \subset X$ is open in $\tau_d$, and let $x \in U$. Since $\mathcal{B}_d$ is a basis for $\tau_d$, there exist $a \in X$ and $s > 0$ such that
\begin{align*}
x \in B_d(a,s) \subset U.
\end{align*}
Because $x \in B_d(a,s)$, we have $d(a,x) < s$. Define
\begin{align*}
r := s - d(a,x).
\end{align*}
Then $r > 0$. If $y \in B_d(x,r)$, the triangle inequality gives
\begin{align*}
d(a,y) \le d(a,x) + d(x,y) < d(a,x) + r = s.
\end{align*}
Thus $y \in B_d(a,s)$, so $B_d(x,r) \subset B_d(a,s) \subset U$. Therefore, for this $x \in U$, there exists $r > 0$ such that $B_d(x,r) \subset U$.
[/step]