I have a collection $\{v_1,...,v_k\}$ of vectors in $\{\pm 1\}^n$ with the property that for all $i\neq j$ we have $\langle v_i, v_j \rangle \le c\log_2(n)$. I am looking for an upper bound on $k$ in terms of $n$.

I am aware that given instead unit vectors $v_i$ in $\mathbb{R}^n$, and the bound $\langle v_i, v_j\rangle \le c$ (for some $c$ independent of $n$), then $k$ can be exponentially large. So I expect the upper bound in my case to be polynomial, but I'd like the best bound I can get!

I'm finding it hard to get a reference for this although it must be well known. I have found upper bounds for the related problem where we instead have $|\langle v_i, v_j \rangle | \le \epsilon(n)$ (the 'almost orthogonal' case), but I haven't had any luck with this variant. Apologies if I'm missing an obvious reference.

**Edit:**

Kodlu helped me realise the connection with coding theory: letting $v_i=2u_i-1$ then we have a collection of binary vectors $u_i$, and since $\langle v_i,v_j\rangle = n-2d(u_i,u_j)$ (where $d$ is the Hamming distance), the upper bound $$\langle v_i, v_j \rangle \le c\log n$$ implies that $$ d(u_i,u_j) \ge n/2 - c\log(n)/2.$$ So my question is equivalent to asking for upper bounds on the size of a binary code of length $n$ with minimum distance $n/2 - c\log(n)/2.$