This program should be server based, running on a UNIX server running APACHE and written in PHP. Basically, the typical setup you find with most hosting companies that offer features such as CPanel, Fantastico, etc. should be adequate for this program as well.
The primary goal of this program is to compare backlinks pointing to a user's website versus backlinks pointing to other websites.
It should output a list of domains that have backlinks pointing to competitor sites based on which backlinks show up in Google, Yahoo and MSN. So for example, for 10 sites, it would find the backlinks pointing to all those sites, compile them into one list, and remove any duplicates (based on domain not necessarily the exact page). It should also show which search engine the backlink was found on (most likely Yahoo) along with each linking domain's Google PageRank. It should also pull backlinks for the user's domain, then compare the two to see which links still need to be obtained.
Output/Look and Feel:
I'm hoping for a tabular list with an interface similar to how [url removed, login to view] is setup. I can provide more info on the specifics in PMB. This would be done in XHTML/CSS and possibly AJAX or something to give it a Web2.0 type of interface.
The script should run periodically using a cron job. Since most rookie webmasters are unfamiliar with the exact parameters for setting up a cron job and since the specifics vary from one hosting environment to the next, ideally the script would auto-detect what the right settings are and would provide the user with some copy-and-paste text they could use to setup their cron. I've seen this in other scripts.
The script should allow for multiple logins. An admin and multiple users. The non-admin accounts should only be able to see the lists of backlinks, not the competitor sites. They shouldn't be able to add,remove,change other user's info either, of course.
I'm not sure what will be required in terms of Google API, Yahoo API, etc. but if they're needed, then the script should allow the user to input those as well. It doesn't seem like those would be required for this though, but I'll leave that to someone with more programming expertise.
This is a preliminary explanation of what we're looking for. I can provide full details of the project via PMB. However, there might be additional things that come up along the way, so we ask that you just work with us and remain flexible. In addition, we'd appreciate any feedback you have on this since your expertise might shed some light on areas of the project we haven't considered.
Please contact me via PMB if you have any further questions or for a more detailed project outline.