I think that you feel your construction non constructive because you have no way to establish a priori if a given real number is rational or irrational. The following construction avoids the problem: I suppose directly that $X=\mathbb N$. For any $\frac{1}{10}\leq t< 1$, for instance $t=0,324145...$, define $I_t$ to be the set containing the following natural numbers
$$ 3,32,324,3241,32414,324145,\ldots $$
The family $I_t$ is uncountable and $|I_t\cap I_s|<\infty$, for all $t\neq s$.