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.