As my first freelance graphic design & programming job, (I'm 19) I agreed to develop a web application for a local insurance agent.
I've taken 4 months to complete the job, while I estimated 1-2 months, originally. Each month, I demonstrated my progress, but continued to estimate a soon finish each meeting, not foreseeing the many issues I would run into in the development process. The insurance agent has not expressed verbal displeasure with the time that the job has taken, but his responses are short and concise, and I am nervous as to how he feels about the length of time taken.
I'm not sure how I should handle the situation after taking so long to complete the work. This business owner is well known in my town and could potentially lead to much more business if he is pleased with my service.
I want to know how I should proceed in order to maintain professionalism and do my best to mend my errors and achieve a good review by this employer to any potential employers in the future.
Here are the details that I'm taking into account:
I explained that this was my first full-scale web application, and that I was unsure of the time frame. I estimated 1-2 months.
I calculated the application price based on the time that I estimated the job would take a more experienced developer, as to not charge him more due to my inexperience. I priced the work at half of the amount that I estimated other freelance developers would charge, coming out to be $2000 total, for the design and development of a Chrome-friendly front and back end web application.
I'm not charging for actual time spent (not even close), but on a predefined amount.
This agreement was made in good faith, with no contractual terms. The owner of the business knows my father, who introduced me to this development opportunity, so this was adequately safe.
I'm a pretty good designer, who pays extreme attention to innovative interface functionality, visual "perfection", and efficient code. In other words, the app is good. Really good. And I've agreed to update and maintain the app for free, with the exception that hosting be paid for.
I've offered a free additional feature, a messaging client, in order to (hopefully) maintain his complacency with my inexperience.
How I should proceed, as in, should I apologize for the delay, ignore it, etc? As is it is now, I may receive reputation-damaging review after 3-4 missed finish date estimates (I should have just left the finish date open, but I made a mistake and continued to estimate a finish date).