Applications of the cup product before descending to cohomology The cup product is a map $H^p \times H^q \to H^{p+q}$ which turns the cohomology of a (nice) space $X$ into a ring (commutative in the graded sense). It can be understood geometrically in many ways (for instance, as the poincare dual of intersection, or as the wedge product of differential forms), and has several well known applications.
The cup product comes from a map (which we abusively also call the cup product) on singular cochains $S^p \times S^q \to S^{p+q}$, which depends highly on how we order the vertices of our simplices. Precisely, given a $p+q$-simplex $\sigma = (v_0, \ldots, v_{p+q})$, we define
$$(\alpha \smile \beta)(\sigma) \triangleq \alpha(v_0, \ldots, v_p) \cdot \beta(v_p, \ldots, v_{p+q})$$
Notice that, on the level of cochains, this formula is not (graded) commutative, and the leibniz rule doesn't hold in the usual way (though these problems go away when we descend to cohomology).
I'm taking a survey class on various (co)homology theories and how they relate to each other, and our professor mentioned that this cup product on the level of singular cochains is still useful for algebraic topologists, and that there are other useful invariants which we can derive from it. When I asked him about it, he misunderstood my question and gave examples of something else.
I could ask again, but I think I would rather ask here, where the answers may be useful to others as well.
With that in mind:

What are some uses of the cup product at the level of singular cochains?

Thanks in advance! ^_^
 A: Steenrod operations are an example. Let's work mod 2. The fact that the cup product is commutative on cohomology (and in a "coherent" way, consistent for all spaces) but not on cochains essentially means that at the cochain level, there is a chain homotopy between $\alpha \smile \beta$ and $\beta \smile \alpha$, or what I really mean is between the cup product $\smile$ and the composition $\smile \circ \tau$ of the cup product with the map $\tau$ that interchanges the two factors. Call this homotopy $\smile_1$. If $\alpha$ is a cocycle, then so is $\alpha \smile_1 \alpha$, so it induces an operation on mod 2 cohomology. You can in fact find $\smile_i$ products on cochains for each $i$, and each of them induces an operation on cohomology.
Edit: for each integer $n \geq 0$, there is a family of operations $\text{Sq}^n: H^j(X; \mathbb{F}_2) \to H^{j+n}(X; \mathbb{F}_2)$, one for each $j$. These are the Steenrod squares, and they are defined by reindexing the operators $x \mapsto x \smile_i x$. If $x \in H^n$, then $\text{Sq}^n(x)=x^2$, but also the Steenrod squares are compatible with suspension. So for example while you cannot tell $\Sigma \mathbb{C}P^2$ apart from $S^3 \vee S^5$ using the ring structure, you can tell them apart using Steenrod operations: since there is a nontrivial operation $\text{Sq}^2: H^2(\mathbb{C}P^2) \to H^4(\mathbb{C}P^2)$, there is a nontrivial operation $\text{Sq}^2: H^3(\Sigma \mathbb{C}P^2) \to H^5(\Sigma \mathbb{C}P^2)$ (all cohomology here with mod 2 coefficients).
