Partindo do pressuposto que vc não tenha nenhuma condição de saude que esteja te atrapalhando (como TDAH e coisas do tipo), sugiro que você defina pequenas metas.
As vezes, a gente fala que vai construir uma supercalculadora! Mas, o que você faz na verdade:
1 - Desenvolve uma calculadora simples (as quatro operações) pra ser usada na linha de comando
2 - Constrói uma interface simples para ser utilizada no navegador
3 - Adiciona mais algumas funcionalidades basicas (porcentagem, media, etc)
4 - Da uma melhorada no frontend, deixando a usabilidade melhor
5 - Adiciona funcoes avancadas (seno, cosseno, etc..)
6 - adiciona um conversor de medidas
7 - Adiciona uma calculadora financeira
8 - Desenvolve uma API pra uso de terceiros
9 - Desenvolve um aplicativo para celulares
10 - Define um plano de AdSense
Entende? Se você apenas fala que quer fazer uma calculadora, nem da pra chamar de projeto. É algo tão vazio que, na primeira dificuldade, você larga simplesmente por não saber onde deveria chegar. Mas, se seu alvo é a milestone 1 (a calculadora simples na linha de comando), você vai reunir suas energias para resolver apenas os problemas que te levarão ao cumprimento dessa etapa.
E toda vez que vc atinge uma etapa, vc ganha sua dopamina, a sua sensação de dever cumprido, de que vc é produtivo e comprometido, e que consegue cumprir seu planejamento. E ainda, por cima, tem foco para ir apenas para onde vc deve ir.
Faça isso: defina objetivos pequenos, os menores possiveis (ex. criar e fazer o teste unitario de uma pequena função). A passos pequenos, se vai longe.