Usually Programmers are only slow when they don't know how to solve a particular problem. So they will spend a lot of time researching and a lot of trial & errors to solve a problem. It is important that before you engage a programmer on a project, you break down the entire project into simple, easy to understand modules. Let him give you an estimate of how many hours he will require to complete each of the modules. Example: a typical site will have a login module, registration, My account, profile etc. So let him estimate how much he will require to do the login. You can go even detail here. (e.g. how much extra time if you were to implement Facebook/Twitter Login?).
Once he start developing, track his progress closely and make sure he is following his given timeline. If he goes over his budgeted time on a module, talk with him and see what went wrong. It is often seen that they may be wasting their time on something very insignificant that you may have asked him to implement, but you can totally go by without it too. So by understanding what is taking longer time, you will be able to prioritise things better.
You definitely need some tools to get this done. Google Spreadsheet or Excel works just fine. But if you don't mind spending a few bucks there are many agile project management tools that you might look into. Here is a list, google them all and sign up for trials:
* Agile Bench
* Pivotal Tracker
Or the reason why he is slow can be purely non-technical.
Sometime your developer may don't share the same level of enthusiasm as you about the idea that you are working on. They often don't often see the "bigger picture" (since you don't share everything with them explicitly). If you can somehow get them excited about what he is a part of, it will work like a drug :) He will work day and night without questioning you. But you need to work equally as hard as him. The moment he sees that you are the boss and he is just the guy doing work for you -- his mentality will shift from being part of something to being the low paid developer.
Ultimately its all about motivation and making him a part of your venture. After all he deserves it, if he is really playing a crucial role in the entire development.
What troubles me about this question is that I don't have insight into your definition of "slow" and direct observations of the developer themselves. While I do appreciate time and budget constraints, often expectations of what software development entails are at odds with these things.
In general, if progress feels slow it is likely because the development cycle is too big. Consider using an agile framework like Scrum or Kanban to manage how much work is taken on and when it will be reviewed (eg. every week or every two weeks). Also consider "sizing" the work items so that they can be completed (ie. coded, tested, deployed into production) every 1-2d. This provides a benefit of lightening the load while improving progress through a backlog and providing much more rapid feedback on whether you're building the right things.
Finally, set your expectations accordingly: Software development is all about wrestling with wicked problems using a tractable medium. You likely won't get everything you want for a certain date, but you can control getting the most valuable things done for the time and money invested.