O tempo que irei dedicar no projeto?
Esse é o fator mais importante, o outro é o seu custo de vida e o tempo que você tem por dia e por semana para realizar o projeta
Eu tenho uma conta que aprendi aqui, por hora você antes precisa saber várias coisas, eu uso semanas de referencia:
let quantoMerecoGanharPorMes = parseInt(prompt('Quanto você precisa ganhar por mês (em reais)?\n\nImagine que esse projeto será sua única fonte de renda'));
let quantasHorasPorDia = parseInt(prompt('Quantas horas você quer trabalhar por dia?'));
let quantosDiasPorSemana = parseInt(prompt('Quantos dias você quer trabalhar por semana?'));
let quantoTempoDeProjeto = parseInt(prompt('Quanto tempo você acha que consegue terminar (em semanas)?\n\nConsidere semanas cheias para ter tempo extra para correção de falhas e melhorias'));
let semanasPorMes = 4.33;
let valorTotal = quantoMerecoGanharPorMes/semanasPorMes*quantoTempoDeProjeto;
let diasTrabalhados = quantosDiasPorSemana*quantoTempoDeProjeto;
let valorDia = valorTotal/diasTrabalhados;
let valorHora = valorDia/quantasHorasPorDia;
alert(`Você precisa cobrar:\n\nTotal pelo projeto: R$ ${valorTotal.toFixed(2)}\nPor dia: R$ ${valorDia.toFixed(2)}\nPor hora: R$ ${valorHora.toFixed(2)}`);