After doing some graphic work for custom shirts for a local business, the owner asked me if I would be able to design a website that would allow customers to visit and design their shirts. The web app would start by having the customer choose from different products to design such as jerseys, bags, shirts, socks, etc. Then, they are shown a mock-up of what the design would look like updating itself each time they change the design and the colors they want on design. This design would be an SVG that will be converted to a specific size pdf based on the shirt sizes and such and be sent to the business owner to process from there. I have done my research and am capable of creating a website to accomplish all of the tasks he desires. The issue is this is my first freelance project and I am not sure how much or how to figure out the cost of building this web application for the owner. Should it be by hour or what is the best way to figure out the right price so that I do not get under payed for my work?
Some of the first considerations would be:
How many times have you done similar work, what were your costs, time, difficulties.
- How much will you have to charge just to break even?
- What profit is necessary to pay yourself and subcontractors, buy new equipment or purchase training to keep yourself current, offset expected cost increases or lean times where you must maintain an office and business phone line / answering service.
Not only do you need your application to be easy to use and fully featured but it needs to be easily expandable and maintainable - it can be difficult to get the client to pay for so-called expected and ingrained properties that aren't externally visible and seem self-serving, a future convenience for the coder.
Will this effort generate future business with many new customers, or only this one customer; and probably only this once.
If you can amortize the cost over dozens of future customers you can sell usage of the software for a low monthly rate, or assess a low one time fee with a limited number of years of free updates.
- If it's repeat business you need to be prepared to expand in that direction, if it's a one-shot deal then you need to profit beyond your expenses; that includes allowing for change requests (after the agreement is made) and providing Technical Support to both the company and their Website Designer (who might become a competitor, in the end).
With web developer rates on the Internet ranging from U$10-U$200 what you can charge may seem to be pushed towards the lower end, don't let it be.
Know what you must charge and how much you must make. Frequently it's useful to mention a minimum amount, i.e. regardless of what is involved you'll need to be able to bill at least one or two thousand dollars minimum, otherwise you'll miss larger jobs in favor of smaller ones.
This is a polite way of establishing upfront that if they thought something was going to cost a couple of hundred dollars they'll need to try elsewhere, regardless of how simple what they propose might be.
Be certain to charge full price for consulting - if you aren't spending time earning money from one customer you don't want to be wasting it offering free advice to another; you can always offer to subtract 10% of the consulting service costs from the final product price.
There are various formulae for reimbursement, or offering a more attractive price.
Charging an hourly rate certainly assures that you are paid for each hour, but there's likely an upper limit in the company's interest and they probably want a finished and working product.
Charging a flat rate to do the work leaves you to do all that would be required (based on your experience with similar projects) sufficiently quickly to realize a profit beyond your expenses. You can only fully know an approximation of your expenses from considerable prior experience.
Charging a fraction of the cost on the basis that you'll be able to sell usage of the completed application to future customers would offer the first company the most attractive price; but then you are in the business of promoting and selling this product to potential future customers.
If your product is clearly better, easier to use, and offered at a lower cost, the barrier to acceptance and convincing people to switch from what already works will be lower. With so much competition you have a challenging road ahead: quality of product, service level, and projected confidence are rather intangible; but something you still want to charge for.
To avoid being underpaid: You want to own as much as possible of what you make. If you are only selling the guy a license to use the thing then it's less important if you get paid a little less than it's really worth cause you can potentially make it up later when that client pays for a license upgrade or when other clients pay for the same type of software. Very few clients will have a problem with you saying, 'You're purchasing a license to use the software. Anything unique to your business is owned by you 100%'. Some will want the right to sell the software multiple times. This is worth 2x or more (non exclusive) at least. Depends on how valuable you think that is on a case by cases basis. I usually would say that if they buy that second license I will discount them the price they already paid. Then clients come back maybe 6 months or a year later, eager to pay me $$ and all I have to do is write an invoice. Imagine getting paid four or five figures for just 1 minute of copy & paste.
So have some licensing options for the client all with different prices from low to higher. That low price should still be a number you feel is fair to you based on your research. I would avoid talking about hours and focus on grouping the deliverable things and then pricing those groups as a whole. But only do that if the client explicitly ask for that kind of price detail. It's in your interest to keep the price at the overall project level. As long as you can give good estimates of the time required. I would give lead time plus test and development. NOT simply the time it takes to build.
For projects where there are detailed specs/narrow scope this is safe. For situations where things are uncertain/changing then hourly is better. Make sure in your agreement with the client you say that they are responsible for any 'client caused delays or changes'! Don't give freebies unless you caused a problem.
And also consider how much money you're saving the client. Be clever and ask the client a lot of questions about how their business works and how many employees they have doing this stuff they want you to create a program to do. And consider how much it would cost the client if they hired a developer to work for them full time on the project too. This will help you price what you're doing.
If you license it, you own it. In the US, if the client decides to walk away from the deal without paying you, your recourse is to take back your software.
If you write it as "A Work Made For Hire" - legalese magic words in the US that mean they own it the moment you write it (i.e., you never owned it) - they are obligated to pay you according to whatever payment agreement you had with them, and that is legally enforceable.
Also if you license it with a pay-per-piece license, you become an "investor" in their enterprise; your compensation depends on how well they do. If they may do poorly or quit the online T-shirt business altogether, and that's out of your control.