How should I document my designing of the app better so that I avoid programming by coincidence? How can I structure notes so that it is clear how an app works so that when I refer to it a year later I'm not lost for the first 3 days?
How can I organize my implementation notes to use as a future reference?
productivity;documentation
Separate the Analysis from the Design.  Don't let architectural issues intrude on the requirements.  Take your notes from an outsider's perspective, what will they see and where does that data come from?You should spend more time on your notes, not less.  You can't create the architecture to fit partial notes, that's like designing clothes for a mannequin missing both legs and an arm, sure it's fast but (as you've noticed) it's hardly functional ;-)Read up a little on UML, even if you don't use it to sketch out your app the methodologies that use UML will provide you with inspiration.