I've written a web app which, although it looks pretty basic, uses some graph theory and shortest path algorithms to try and answer the question of "how do I get bitcoins" and for the "best" price (ie least lost due to charges, fees etc etc). It uses a modified version of the djikstra's algorithm to find the "shortest path" between what you have and what you want (and shortest path == lowest cost).
The version I've put up at the moment answers this very basically but what I intend to do is hook in "live prices" from any various exchange merchants (push or pull api) so that you can get a good idea of how many bitcoins you'll end up with - and how long it will take.
I've only got a few merchants up so far for this version but if you can send me
1) What your transferring from (ie cash, what currency the cash is, bank account based where? etc etc)
2) The website you are promoting
3) A few lines about how the transfer will take place
4) The time it takes
Then I'll add you to the database. It would be even better if you could supply an API which would provide the current best bid/offer you have. I won't be polling more often than once an hour.
Any designers out there who want to give a hand, that'd be great too.
Here's the demo url before I get a domain name sorted.
http://bcfxer.appspot.com/The plan is to make cash via donations (!) and referral fees - but this won't affect the algorithm. Also, I have coded a "exclude this from the path" option (if you don't like the particular recommendation) but that hasn't made it into the GUI just yet. Oh and I tried to make the dropdowns the "typeahead autocomplete" type but my javascript isn't quite up to scratch yet.