Acho que primeiramente você tem que se impor, teve um contrato pra você desenvolver esse software pra ele? foi acertado o escopo do projeto e oque seria feito por tanto? foi combinado futuros módulos por um valor x?
Essas coisas são bem importantes para que você não seja passado a perna, que é oque ta me parecendo pelo que você comentou, é importante como prestador de serviço você ter a postura de especialista no que está fazendo, e fazer o seu cliente entender o porque certas coisas acontecem e decisões são tomadas.
Tem coisas que igual tu disse são fáceis de mudar, como a questão de o usuário escolher cor e outros, mas agora mudar totalmente o escopo do projeto para migrar de web pra desktop já é algo grande demais, tudo depende da stack que você ta usando e tals, mas isso dai já é pedir demais, se for js deve ser simples migrar pra electron mas acho que seu problema não é como resolver essa nova solicitação do cliente.
Mas sim definir melhor o escopo do projeto e explicar quando as solicitações podem ser inviáveis.