Writing code with real use is very different from writing code for the sake of writing (looks cool, sounds cool).

Writing code with one user is the base case of a “why am I writing this” recursion - because I use it.

Every action leads to next insight. For me, a browser extension that provides a table of content to chat interfaces because I always need to scroll up and down to read preview queries. Writing browser extension leads me to writing a RSS reader navigating with only keyboard. Writing RSS reader leads me to writing a virtual book shelf that visualize Goodreads record on a virtual 3D bookshelf. Writing virtual book shelf lead me to making a virtual climbing gym where I scan my local climbing gym into 3D model where I can map climbing videos on it. And it is just one chain

Especially when the primary motivation is not specifically monetization I find that I'm less likely to be discouraged when an action leads to an uncomfortable insight of "no one else would use this"