Let $\left\{ v_{1}, \dots, v_{n} \right\}$ form an orthonormal base and let elements $$x = \sum_{i=1}^{n} (v_{i}^\intercal x) v_{i}$$ $$y = \sum_{i=1}^{n} (v_{i}^\intercal y) v_{i}$$
Show that the scalar product $$x^\intercal y = \sum_{i=1}^{n} (v_{i}^\intercal x) (v_{i}^\intercal y)$$
Now, $x^\intercal y = \left( \sum_{i=1}^{n} v_{i}^\intercal x v_{i} \right)^\intercal \left( \sum_{i=1}^{n} v_{i}^\intercal y v_{i} \right) = \sum_{i=1}^{n} v_{i}^\intercal x^\intercal v_{i} v_{i}^\intercal y v_{i} = ...?$ I expect $v_i^\intercal v_i = 1$ to give the desired result but I don't see how to get there.
Many thanks to @paulinho who did the n=3 case. Below generalization to $n$ orthonormal vectors.
$$x^\intercal y = \left( \sum_{i=1}^{n} (v_{i}^\intercal x) v_{i} \right)^\intercal \left( \sum_{i=1}^{n} (v_{i}^\intercal y) v_{i} \right) = \left( \sum_{i=1}^{n} v_{i}^\intercal ( x^\intercal v_{i} ) \right) \left( \sum_{i=1}^{n} (v_{i}^\intercal y) v_{i}\right)$$ $v_{i}^\intercal ( x^\intercal v_{i} ) = ( x^\intercal v_{i} ) v_{i}^\intercal $ because dot product is a scalar $$= \left( \sum_{i=1}^{n} ( x^\intercal v_{i} ) v_{i}^\intercal \right) \left( \sum_{i=1}^{n} v_{i} (v_{i}^\intercal y) \right)$$ decompose the second sum $$= \sum_{i=1}^{n} \left(( x^\intercal v_{i} ) v_{i}^\intercal \left( v_{i}( v_{i}^\intercal y ) + \sum_{\substack{j=1 \\ j \not = i}}^{n} v_{j}( v_{j}^\intercal y ) \right) \right)$$ $$=\left( \sum_{i=1}^{n} ( x^\intercal v_{i} ) v_{i}^\intercal v_{i}( v_{i}^\intercal y ) \right) + \left( \sum_{i=1}^{n} \sum_{\substack{j=1 \\ j \not = i}}^{n} ( x^\intercal v_{i} ) v_{i}^\intercal v_{j}( v_{j}^\intercal y ) \right)$$ by orthonormality $v_{i}^\intercal v_{i} = 1$ and $v_{i}^\intercal v_{j}=0, i \not = j$ hence $$=\sum_{i=1}^{n} ( x^\intercal v_{i} ) ( v_{i}^\intercal y )$$