Как держать в голове проект по программированию над которым работаешь не каждый день?
1. Писать самодокументирующийся код.
2. Щедро добавлять стандартизированные комментарии к каждой функции и переменной.
3. Рефакторить структуру до полной очевидности.
4. Использовать git с подробными описаниями коммитов - с помощью аннотаций будет легко понять зачем написан тот или иной кусок
5. Вести TODO отдельно либо используя @todo комментарии прямо в коде.
В голове не удержать, а напоминать себе как-то надо.