inasmuch as i’m learner too in charging, i have learned not to be hasty about the charge until i see the complexity of the prototype that a client wants done. this is to avoid getting underpaid. yes, it’s relative to determine the complexity of a task from the prototype but it helps. this is how it does help.
when a prototype is out, and the client gives you a briefing on what the prototype should achieve at the end of the day, you’re good. but when the clients do all the explanations without a prototype, and you charge, there are certainty of encountering difficulties doing the course of implementation and there is not even much to feed you when you debug.