A general pattern: rough in something viable to start and then iteratively improve it.
The tendency is often to make a perfect thing before releasing it into the world.
But the real world has all kinds of unexpected and non-obvious constraints.
There's a good chance that what you make isn't viable for some non-obvious reason.
Instead, get it to good enough as quickly as possible, get real-world usage, and then iteratively clean up.
"Good enough" means "viable for those users who adopt it"
If you have a small number of high resilience users, the "good enough" bar might be way below what you think!
Especially if the system's quality is self-bootstrapping, so over time the starter quality improves,
Another way of putting it: rough something in that works and then invest more time in proportion to how often it's used.
LLMs are great at roughing something in.