Posso não concordar com sua justificativa de criar algo "inútil", porém entendo sua vontade e curiosidade em desenvolver algo tão complexo e ao mesmo tempo, lindo. Hoje, também trabalho integrando e desenvolvendo API's, modelando banco de dados, decidindo o relacionamento entre tabelas. Mas, você está certo! Fazemos isso porque temos aluguel, nossos planos e ambições para serem sustentados.
Porém, ainda há curiosidade no programador. Eu também me aventurei desenvolvendo um bootloader e um kernel minimalista, lembro que na época eu deveria ter uns 16 anos. Programava em um notebook horrível, escrevendo código em Assembly x86 no bloco de notas, haha. https://www.facebook.com/share/v/1CYa9WZ4Jy/ (um vídeo mostrando meu OS na época).
O que mais me intriga hoje, é o fato de muitos não terem a curiosidade de entender como as coisas funcionam por de baixo dos panos (e nem deve ser obrigado a entender). Isso varia da curiosidade de cada um, mas uma ideia dessas, pode agregar muito no aprendizado. Fica a dica XD