Hi! I have a day job as an Art Director and Sr. Designer (
www.natehinners.com) in an advertising agency, but sometimes take on extra freelance work. So I'm not a developer, but I get the idea of freelance creative work (which includes coding, to me). Here are some thoughts based on my experiences, but by all means seek additional answers beyond mine!
1) how do you price your freelance work for?For design, it depends on the project, but I would probably price a dev project hourly. That rate depends on your experience and efficiency, of course. I will usually charge $100/hour, but that's a rate that comes with a lot of experience. For some types of projects and clients, I'll charge a flat project fee. If you're new and still learning the ins and outs of coding, I might consider a flat fee for the sake of your client's wallet and getting hired by them again in the future.
2) what contracts should I have in place before accepting this work?Oh boy. Absolutely get a signed contract that clearly details the scope of the work, what is and is not included, number of rounds of revisions, guidelines for canceling or dissolving the project, and an estimated timeline to delivery (including check-ins, if necessary). This is absolutely one of the most important parts of the entire process.
3) how does the payment process work? PayPal? Or check?You are the one doing the work, so ask for whatever method works best for you.
4) do you get an advance before starting work and then get the reminder once it's done? Or in stages?Don't start working until you get paid something. I usually ask for half up front, and the second half upon project completion. Doing that ensures that you still get paid something if they pull out of the project or cancel it while you're in the middle of it.
5) Hers is a subscription based model and I estimate it might have ongoing maintenance and app update work too. How should I price it?Great question. I would give her a choice: Either a flat retainer fee, with the contractual caveat that updates are based upon your availability, or a per-update fee that is fair to you and the rest of what you have going on in your life.
6) how and when do you hand over the completed code?I can't answer this with any authority since I'm not a developer. But I'm not 100% this is necessary, though. Code, like design work, is copyrighted by the act of creation. I would never hand over working files, just final files for something like a logo. In which case, I make sure to charge enough to be comfortable with giving the client usage rights to my copyrighted work in perpetuity.
7) in case of disagreement, how does the mediation and resolution process work?I've never had a severe enough disagreement to warrant outside help, but typically these things (non-payment, extremely late payment, copyright infringement) are handled in small claims court. But only as a last resort.
Hope that helps a little! I'll be happy to talk further and answer any further questions you might have. The best way to reach me is through my website, linked to at the beginning of this post.