[proofplan]
The continuity statement follows directly from the definition of the [product topology](/page/Product%20Topology): the preimage of an [open set](/page/Open%20Set) in one coordinate is a subbasic open cylinder. For openness, we use the basis of the product topology given by finite-coordinate cylinders. The image of each basic open cylinder under a coordinate projection is either an open coordinate set, the whole target factor, or the empty set; under the nonemptiness hypothesis these are exactly the possible cases. Since arbitrary open sets are unions of basic open cylinders, their projection images are unions of open subsets of the target factor.
[/proofplan]
[step:Show that the preimage of each coordinate open set is subbasic open]
Fix $i \in I$. Let $U_i \in \tau_i$ be an open subset of $X_i$. By the definition of the projection map,
\begin{align*}
\pi_i^{-1}(U_i) = \{(x_j)_{j \in I} \in X : x_i \in U_i\}.
\end{align*}
This set is the cylinder in the $i$-th coordinate determined by $U_i$, hence it is a subbasic open set for the product topology on $X$. Therefore $\pi_i^{-1}(U_i)$ is open in $X$. Since this holds for every $U_i \in \tau_i$, the map $\pi_i: X \to X_i$ is continuous by the open-preimage definition of continuity.
[/step]
[step:Compute the projection of a basic open cylinder]
Assume now that $X_j \ne \varnothing$ for every $j \in I$. Fix $i \in I$. Let $B \subset X$ be a basic open set for the product topology. Thus there is a finite subset $F \subset I$ and, for each $j \in F$, an open set $U_j \in \tau_j$ such that
\begin{align*}
B = \{(x_j)_{j \in I} \in X : x_j \in U_j \text{ for every } j \in F\}.
\end{align*}
For coordinates $j \notin F$, the set $B$ imposes no restriction.
If $B = \varnothing$, then $\pi_i(B) = \varnothing$, which is open in $X_i$. Suppose instead that $B \ne \varnothing$.
If $i \in F$, then
\begin{align*}
\pi_i(B) = U_i.
\end{align*}
Indeed, the inclusion $\pi_i(B) \subset U_i$ follows from the defining restriction of $B$. Conversely, let $y_i \in U_i$. Since $B \ne \varnothing$, choose one point $a = (a_j)_{j \in I} \in B$. Define $x = (x_j)_{j \in I} \in X$ by setting $x_i = y_i$ and $x_j = a_j$ for every $j \ne i$. For every $j \in F$, we have $x_j \in U_j$: this is true for $j=i$ by the choice of $y_i$, and for $j \ne i$ because $a \in B$. Hence $x \in B$, and $\pi_i(x)=y_i$. Therefore $U_i \subset \pi_i(B)$.
If $i \notin F$, then
\begin{align*}
\pi_i(B) = X_i.
\end{align*}
The inclusion $\pi_i(B) \subset X_i$ is immediate from the codomain of $\pi_i$. Conversely, let $y_i \in X_i$. Choose $a = (a_j)_{j \in I} \in B$, which is possible because $B \ne \varnothing$. Define $x = (x_j)_{j \in I} \in X$ by setting $x_i = y_i$ and $x_j = a_j$ for every $j \ne i$. Since $i \notin F$, the coordinate $i$ is unrestricted in the definition of $B$, while all coordinates in $F$ still agree with $a$. Thus $x \in B$ and $\pi_i(x)=y_i$, so $X_i \subset \pi_i(B)$.
In all cases, $\pi_i(B)$ is open in $X_i$, because it is either $\varnothing$, an open set $U_i \in \tau_i$, or the whole space $X_i$.
[guided]
The goal is to understand what a projection does to one basic open set in the product topology. A basic open set restricts only finitely many coordinates, so fix a finite set $F \subset I$ and open sets $U_j \in \tau_j$ for $j \in F$, and write
\begin{align*}
B = \{(x_j)_{j \in I} \in X : x_j \in U_j \text{ for every } j \in F\}.
\end{align*}
The coordinates outside $F$ are unrestricted. This finite-coordinate form is the point at which the product topology is used.
There is one empty-set case to separate first. If $B = \varnothing$, then its projection is
\begin{align*}
\pi_i(B) = \varnothing,
\end{align*}
and $\varnothing$ is open in every [topological space](/page/Topological%20Space). Hence assume from now on that $B \ne \varnothing$, and choose a point $a = (a_j)_{j \in I} \in B$.
First suppose $i \in F$. Then every point of $B$ has its $i$-th coordinate in $U_i$, so
\begin{align*}
\pi_i(B) \subset U_i.
\end{align*}
For the reverse inclusion, take an arbitrary point $y_i \in U_i$. We want to build a point of $B$ whose $i$-th coordinate is exactly $y_i$. Use the already chosen point $a \in B$ to fill all other coordinates: define $x = (x_j)_{j \in I} \in X$ by $x_i = y_i$ and $x_j = a_j$ for $j \ne i$. For each restricted coordinate $j \in F$, the condition $x_j \in U_j$ holds: when $j=i$ it is the choice $y_i \in U_i$, and when $j \ne i$ it follows from $a \in B$. Therefore $x \in B$ and $\pi_i(x)=y_i$. Since $y_i \in U_i$ was arbitrary,
\begin{align*}
U_i \subset \pi_i(B).
\end{align*}
Thus $\pi_i(B)=U_i$, which is open in $X_i$.
Now suppose $i \notin F$. The coordinate being projected is not restricted by the definition of $B$. Let $y_i \in X_i$ be arbitrary. Again define $x = (x_j)_{j \in I} \in X$ by $x_i = y_i$ and $x_j = a_j$ for $j \ne i$. Because $i \notin F$, changing the $i$-th coordinate does not affect membership in $B$; all restricted coordinates are still the same as those of $a$. Hence $x \in B$ and $\pi_i(x)=y_i$. Since every $y_i \in X_i$ occurs as such a projection,
\begin{align*}
X_i \subset \pi_i(B).
\end{align*}
The opposite inclusion $\pi_i(B) \subset X_i$ follows from the codomain of $\pi_i$, so $\pi_i(B)=X_i$, which is open in $X_i$.
Thus the image of every basic open cylinder is open in $X_i$: it is $\varnothing$, one of the coordinate-open sets $U_i$, or the whole space $X_i$.
[/guided]
[/step]
[step:Pass from basic open cylinders to arbitrary open sets]
Let $O \subset X$ be open in the product topology. By the basis description of the product topology, there is a collection $\mathcal{B}_O$ of basic open subsets of $X$ such that
\begin{align*}
O = \bigcup_{B \in \mathcal{B}_O} B.
\end{align*}
The projection image of a union is the union of the projection images, so
\begin{align*}
\pi_i(O) = \bigcup_{B \in \mathcal{B}_O} \pi_i(B).
\end{align*}
By the previous step, each set $\pi_i(B)$ is open in $X_i$. Since arbitrary unions of open sets are open in a topological space, $\pi_i(O)$ is open in $X_i$. Therefore $\pi_i: X \to X_i$ is an open map. Since $i \in I$ was arbitrary, every coordinate projection is continuous, and under the nonemptiness hypothesis every coordinate projection is open.
[/step]