Let me answer my own question, following @Wojowu's idea and Page 6 of https://web.stanford.edu/~yuvalwig/math/teaching/KakeyaNotes.pdf,
after the lemma.
We use $|A|$ to denote the 2 dimensional Lebesgue measure of a set. Fix an equilateral triangle $T$, and a bounded open set $U_1 \supseteq T$ with $|U_1|=|\overline U_1| < 2 |T|$. By chopping up and translating $T$, we form a new set $S_1$ of area $<1/2 $, and by the lemma we can ensure that $S_1 \subseteq U_1$. Now pick a new open set $U_2$ such that $S_1\subseteq U_2\subseteq U_1$ and that $|U_2|=|\overline U_2|< 2 |S_1|$. Since $S_1$ is a union of triangles, we can apply the previous lemma to each such triangle and get a new set $S_2$ of area $<1/4$, such that $S_2 \subseteq U_2$. Again, we pick a new open set $U_3$ with $S_2\subseteq U_3\subseteq U_2$ and $|U_3|=|\overline U_3| < 2|S_2|$, and iterate this. Notice that when we do this, we get a sequence of sets $S_i$ with $|S_i| < 2^{-i}$, and a nested sequence of compact sets $\overline U_1 \supseteq \overline U_2 \supseteq \overline U_3 \supseteq \cdots$, with
$|U_i|=|\overline U_i| < 2 |S_{i-1}| < 2^{-i}$.
Therefore, if we set $B =\cap_{i=1}^\infty \overline U_i$, then $B$ will automatically have measure zero. We now prove that $B$ will contain a unit line segment in every direction. In particular, $B$ is nonempty.
Let $e$ be a direction. Let $C_i$ be the collection of all possible centres $c$ such that the unit line segments $\{c+te:t\in [-1/2,1/2]\}\subseteq \overline U_i$. Since $\overline U_i$ is compact, $C_i$ is also compact. Also, $C_i$'s are nested since $\overline U_i$'s are nested. By construction, each $C_i$ is nonempty since $\overline U_i\supseteq S_i$ and $S_i$ contains a unit line segment in $e$. Hence, $\cap_i C_i$ is nonempty. This means that their is a unit line segment in $e$ which is contained in $\cap_i \overline U_i=B$.