Partido do princípio onde você ta tomando a decisão de desenvolver um software ao invés que usar alguma ferramenta já pronta, acho que você pode partir primeiro listando quais linguagens você tem ou está desejando aprender para executar o desenvolvimento.
Também, por mais que o desejo seja desenvolver uma aplicação para isso, é sempre bom testar o máximo possível as ferramentas disponíveis para poder tomar como expirações.
O combo que mais vejo dentro da minha bolha é Python no backend e Next.js no Frontend