Here's another note from personal experience. I've also helped developed a similiar system, using Perl and Postgres. I think our project was toward the small end. The features included:
- Users could set up accounts and update their personal information.
- Admins could add an update jobs and basic organizational information
- Public could browse through jobs by category.
The site was small enough that we didn't need a search engine, or mod_perl, or XML stuff. There were 12 fixed organizations that could post, so we didn't much interface to manage that end. I believe we spent about 50 billable hours on that. (factor in that we already have strong Perl and SQL skills and have full control and access to the hosting environment.)
I agree with all the other folks that getting a clear spec with as many details as possible before you start is a Good Thing. We usually develop a functional mockup first, using static HTML and JavaScript clickthroughs on the forms. When that is refined with the client then we use that as the core of the final spec, and make a refined estimate with it.
-mark