Edward Greer and I created GeoRanking as our final year project at university, the aim was to use the web as an interface into an artificial intelligence that could recommend results based on preference rather than filtering. Where most property search engines would recommend based on checkboxes such as "I want a bungalow", we wanted a way to say "I would prefer a bungalow, a house would be fine but I really don't want a flat". Our final result wasn't quite as clever as we had planned but it was a good proof of concept and we visualised the results nicely in 3D using Robin Hawkes' ViziCities.
As a team of two, we were able to work closely together developing both the ideas and codebase in a pair programming style where we critiqued each other to push the project to be the best it could be. Our supervisor helped with this as he refused to allow us to build an ad-hoc algorithm so instead we spent countless hours in the library to produce an algorithm that was based firmly in mathematics.
To organise the project we used a Trello board that we would both update with the progress of features and used it to track bugs. We could have used Github for this but being a small team, we wanted everything in one place as it wasn't large enough to need spreading out.
Incredibly we finished the project successfully. It wasn't quite as powerful as we had planned but it proves that the approach can work well. Since finishing the project, I've often wished I could run the results of various websites through our algorithm! Imagine going to a car site and being able to say "I want to try to get the cheapest car possible but I am willing to pay slightly more if it has an amazing insurance bracket or miles per gallon". You simply can't do that at the moment, you currently need to specify a min and max price, the exact insurance brackets you want etc. There is a lot of room for improvement.