For anyone who comes across this question in the future, here is a proof:
Theorem: Compact subsets of metric spaces are closed.
Proof: Let $K$ be a compact subset of a metric space $X$ and to show that $K$ is closed we will show that its complement $K^c$ is open.
Let $p \in K^c$. Now if $q_\alpha \in K$, let $r_\alpha = \frac{1}{2}d(p,q_\alpha)$ and we will denote the neighbourhood of radius $r_\alpha$ around $q_\alpha$ to be $B_{r_\alpha}(q_\alpha) = \{x \in X \mid d(q_\alpha,x) < r_\alpha\}$ and the neighbourhood of radius $r_\alpha$ around $p$ to be $B_{r_\alpha}(p) = \{x \in X \mid d(p,x) < r_\alpha\}$. Then the collection of open sets $\{B_{r_\alpha}(q_\alpha)\}_\alpha$ is an open cover of $K$. As $K$ is compact there exists a finite subcover of $\{B_{r_\alpha}(q_\alpha)\}_\alpha$ such that
$K \subset B_{r_1}(q_1) \cup \cdots \cup B_{r_n}(q_n) = U.$
I now make the following claim:
Claim: $(B_{r_1}(p) \cap \cdots \cap B_{r_n}(p)) \cap U = \emptyset$.
Proof: Assume that $x \in (B_{r_1}(p) \cap \cdots \cap B_{r_n}(p)) \cap U$. Then we must have that $x\in B_{r_i}(p)$ for $1 \leq i \leq n$ and $x\in U$. As $x\in U$, then there exists an $i (1 \leq i \leq n)$ such that $x\in B_{r_i}(q_i)$ and, without any loss of generality, we assume $x \in B_{r_1}(q_1)$. In particular, we must also have that $x\in B_{r_1}(p)$. Therefore, by the triangle inequality we have,
$d(p,q_1) \leq d(p,x) + d(x,q_1) < r_1 + r_1 = d(p,q_1).$
This however is a contradiction. Therefore, $p \in B_{r_1}(p) \cap \cdots \cap B_{r_n}(p) \subset K^c$ which means that $p$ is an interior point of $K^c$. As $p$ was arbitrary, $K^c$ is open and therefore, $K$ is closed as desired. $_\Box$
Hope this may help someone.