Bingle was an internet search engine I wrote in a team of four as the final project for my Internet & Web Systems class. It was composed of four parts: a web crawler, an indexer, a pagerank calculator, and the search engine website. I was primarily responsible for the pagerank calculator, which was implemented with Apache Spark -- and turned out to be surprisingly elegant.
The lesson from it that has stuck with me the most vividly: if you have a process that runs for multiple hours, you better have some logic for recovering a job that failed halfway through.
The final front page: