I am one of those people who get obsessed over ideas. Whenever I have a project idea, I can't stop thinking about it for days. For example, I know to the detail how I'd implement the logic to make Ship or Source work, how I'd design the landing and how I would market it. And that's before even starting to code.

This has had some effects on my life. There are times when I go to bed, then spend three hours thinking about projects before I finally fall asleep. It also makes concentrating on unrelated things (like school, for example) very difficult, and makes me unproductive for anything else than my idea.

I've recently found a solution to this problem. If I write down my idea immediately after it comes to my mind, I give my brain "permission to forget" my idea and I get to move on with some thoughts.

This is also true for coding. If you write down your ideas as you code instead of holding them in your head (for example, you see some code and think hmmm I should refactor this later. Instead of just remembering and keeping it in your head, write it down and come back to it later) you reduce mental effort, and may even reduce the possibility of burnout.