Buying Projects Successfully on Freelance Sites

What are freelance sites and how do they work?

A freelance site is a site where people can post a project and people who can complete the project or provide the service bid. The buyer reviews the bids and selects a provider. The provider completes the project and the buyer pays. The buyer often pays the freelance site, who takes their cut and sends the rest on to the provider. There will be differences in the details from site to site, but the basic sequence will be the same. Often buyers are happy with the results they receive. But all too frequently something goes wrong, and the buyer wastes time and money, and has to start all over again. There are some things you can do to help avoid a disappointing experience when hiring a coder through a freelance site.

There are many different types of coders bidding on projects. The people who bid on your project may be from any country in the world. They may be 13 year old kids with a copy of FrontPage or they may be professional coders who have been designing websites and writing code for years. If you have a simple website a teenager may be perfectly capable of putting it together for you. But if you are thinking of having a webstore that takes credit cards or website that allows users to register your less experienced coder may cheerfully bid low on a project he can't handle. If you are lucky all you will lose is time. Your coder will struggle for weeks to complete the project and will finally give up. You will not have to pay him, or you may have to make a partial payment for the work he has completed. But your project will be weeks behind schedule. If you are not lucky, and inexperienced coder may be able to put together a site that appears to work, you will pay him, and he will disappear, leaving you to find the bugs weeks or months down the road.

Keep in mind that most coders on freelance sites are working on very low profit margins. In order to make it worth while, a coder must keep his costs down. And one of the costs a freelancer incurs is the time he spends bidding on jobs. It takes time for a coder to read your request, understand what you want, and estimate how long it will take him to complete the job. Rarely can a coder make an accurate bid without asking the buyer a few questions. If a coder bids on six jobs a day and spends an hour on each one he will spend at least half of his day bidding on jobs rather than working on them, even if he is working a twelve hour day. What this means in practice is that most bidders barely glance at the specifications. They bid in the low range on lots of projects with the intention of tweaking the bid after a buyer shows interest, or even after they have been selected as a provider.

Know What You Want

Most buyers give coders plenty of opportunities to tweak their bids because they write very poor specifications. For example if you specify that you want a website where people can register and get a user id and password, but don't specify that the system should automatically email a new password to users who forget their password, you will almost certainly be charged extra for that feature. It is not the coder's responsibility to decide how your website will work. It is his responsibility to implement your ideas. The first step in having a successful experience as a buyer at a freelancer site is to know what you want.

First determine your goal. For example, if you are requesting bids for a new website, why do you want to have a website? Do you want to share your photo's with family and friends? Do you want to sell a product or an online service? Is your plan to share an idea or promote a cause? Whatever your reason for starting a website, look at other sites that do the same thing. Do not restrict yourself to websites that are promoting the same ideas or products that you plan to promote. If you are starting a website to sell a product look at other websites that sell things, regardless of what they sell. Keep track of the websites you visit and what you like and don't like about each one. Remember that design and function are two separate issues, so keep a list with a column for the website name and url, the functions you like, design elements you like, and any problems you want to avoid.

Write your specifications.

The biggest mistake buyers make at freelance sites is writing incomplete specs. The bidder is expected to supply what you asked for. Anything you leave out of the specs is an opportunity for a coder to insist on more money.

Have reasonable expectations. You are not going to get a clone of Ebay for $300.00 US. You may get an auction site, but you won't get Ebay. You may get an excellent site for a very reasonable price, but most very successful sites have had hundreds of hours of coding and even the cheapest coders have to make some money.

Use your list to write a clear description of what you want. Think about all the ways a typical user will use your site, and what features they will expect. Include all functions that you want on your website, both frontend and backend

Consider security issues.

Your coder should be able to provide basic security, but cannot be expected to be aware of industry specific security issues. For example, a coder should be able to provide a secure login for backend functions, but may not understand the security implications of HIPPA. It is your responsibility to provide information about any extraordinary security required.

In addition to your website specifications, your coder will need to know the operating system, languages available, web server, and database. If you do not know, specify the name of your hosting provider. The coder should be able to determine what he needs to know from their website. If you are requesting bids on updating a website and you are using a CMS or template system, your coder needs to know that information.

In your specifications, include any documents, prototypes, or screen shots of development work that has already been completed on your site, especially if you expect your coder to base his work on them.

Specify who will provide content, images and graphics. Usually you will need to provide your own content and images. Keep in mind copyrights and royalties when considering these items. If your supplier has to purchase photos for your site it will impact his bid.

Specify what browsers are to be supported. It is not possible to create a website that looks exactly the same in all browsers unless you use flash. And flash has its own problems

Who will install the code?

The coder should include as part of his bid information on how he will install the script or website. Even so, you should include a statement of your expectations. Will you give the coder access to your server so he can install the site? Do you expect the coder to write a script to install the project for you?

Support

How long do you expect the coder to be available to explain how the site works or to do bug fixes? Coders will not be willing make changes or help you with your site indefinitely. Specify what you expect, and whether you will withhold part of the payment until the support period is over.

Maintenance

Consider how you plan to maintain your website. When your area code changes, how are you going to update your website? Are you going to use Frontpage or Dreamweaver or code them by hand? Do you expect the coder to write a backend package? Are you going to farm small changes like this out to a freelancer? The answers to these questions will impact the bid.

Documentation

Specify what kind of documentation you expect for your project. Always require the code itself to be commented. Insist that comments and variable names be in your native language. I once saw a buyer requesting bids from Romanian coders only because her script was commented in Romanian and no one else could figure out what was going on.

Who owns the code?

Read carefully any statements (either on the freelance website or statements made by the coder during negotiations or after selection) regarding the ownership of the finished product. Some coders sell the same scripts with different designs to multiple clients. There's nothing wrong with this, and coders are always going to draw on expertise and techniques developed on one project in other project. But you, as the buyer should understand that your hot new dating site may have hundreds of clones out there that look different but operate exactly the same as yours.

Along the same lines, you should investigate whether you have the right to resell the code or if you can install it on multiple sites. Read information about open source licensing and decide if open source is a good option for you. You may be able to save a lot of money if all you need are a few slight modifications to an open source product.

Time Frame.

Include your deadline. If it is a large project, give a timetable with measurable goals so that you will be able to determine whether the coder is on track. Tell the coder how often you expect progress reports.

Write a synopsis.

Your specifications will probably be too long to post as the bid request. If possible, put your specifications in a separate document and include it as a downloadable attachment. Now write a synopsis of your project to post on the freelance site.

Some suggestions about the synopsis:

Posting the request for bid

The procedure for posting a request for bid will vary from site to site. You will certainly be required to register. You may be required to have a funding source identified so that your contract amount can be put into escrow when you accept a bid. Not all sites require escrow. The ones that do may have higher quality coders because the coder has a good expectation that he will be paid for his work.

Selecting a bidder.

This is one of the most important steps in having a good experience as a buyer on a freelance site. There are no hard and fast rules, and all of the tips given below are YMMV. However there are some things you can watch for to help ensure that your project will be successful.

After you've selected a bidder.

Each freelance site has a different procedure for notifying the bidder that he has been selected. Follow the procedure of the site you are using. Follow any escrow procedures and upload any necessary files promptly. If your freelance site requires you to set deadlines, make them reasonable.

Respond promptly to communications from your provider.

Time is money to these people. When they get to a place where they cannot proceed without input from you, they will move on to other projects while waiting to hear from you. You want to keep your project as close to the top of the stack as possible. If you cannot respond promptly, be sure to adjust the deadline date on the freelance website. Some sites penalize the coder's rating if he does not complete the project on time.

Read all progress reports thoroughly.

Notify your coder immediately of any problems or miscommunications. The farther into a project the coder gets the harder it will be for him to fix mistakes that occur early on.

If the freelance site provides a method of communication you should use it instead of emailing directly or instant messaging. If you do communicate with your coder offsite, you should always confirm via the freelance site approved communication forms. If there is a dispute, emails and instant message logs will probably not be accepted as proof of what a coder promised.

Never pay in advance. Do not even pay partials in advance. It may be possible to divide a job into parts and pay as each part is completed, but I recommend strenuously against it.

When the job is complete

you should test the project thoroughly. Use your original specifications as a checklist. Get a friend or colleague to test the site as a regular user. Test everything. Check it in different browsers. Do not sign off until all of your specs are met. You can test the product on the coder's server, but be sure you install it and test on your server before you sign off.

Once everything is completed satisfactorily, release payment and rate the coder promptly. Prompt payment is important to the coder, and will be reflected in the review that the coder gives you.

I hope you have picked up some good ideas about freelance sites and how to buy a successful project. If you have any questions, please feel free to use the contact form.

Good Luck!