Even if lecturers read and realised the obvious stylistic differences between the chapters written by the student and those written by his friend, a simple "gut feeling" would not suffice as proof to accuse said student of plagiarism. Thus I built a tool that would statistically analyse the writing styles of the students and spit out a probability/certainty report that said which chapters were almost certainly written by someone else.
It worked at a very basic level for long form texts. I never ended up making it an actual product simply because I've lacked the time and determination to collect and organise (especially organise) the material required to train a system into being a real usable product. I had big dreams for it, including usage in forensics and courts of law (answer to the question of was the witness/accused/victim forced to write the letter? Did the witness/accused/victim actually write it him/herself.. etc).. Ah well. Someday maybe.
For my final-year project, I built a search engine from scratch using C# that would rank websites based on "how they looked". This involved looking at the various data structures required to store and retrieve this information, alongside figuring out how to rank pages on both content and their looks. To handle the looks, I took a screenshot of each page, reduced the size to around 100x100 and scanned the colours of each pixel to see if text would contrast. Alongside this I scanned the CSS of the page to check text colour and see if it matched the pixels; if it did, do a comparison against this. I can't remember the exact algorithms I used, but if you used dark text on a dark background you'd get ranked down, and vice versa, alongside some other metrics.
The result was very crude, and looking back on it now the code was terrible. I had implemented the data structures myself, had a semi-decent crawler set up, and could sit all the tools alongside each other to crawl the Internet. Most importantly, it worked so I ended up getting decent marks! While the code makes me cringe, my write-up was fairly impressive, and I felt that writing 40k words over a year helped my writing ability considerably.
It was an attempt at reproducing proctors into an electronic system. Namely interested parties could sign up to receive the votes in real-time. It had two kinds of distinct databases/receivers (vote tallies, and a list of people who had voted).
The two databases were designed so that they were auditable but went to pains so the two couldn't be merged later trivially. So discovering who you voted for was non-trivial. This was done in part by delivering the votes in real time (no caching) and delivering the people who voted in big dumps and randomising them continuously (so that the order they voted wasn't deterministic). The voter database didn't even store which terminal they used, only which location (since that is needed to check it against the paper list later).
Essentially it was four pieces of software: A voting station, a vote receiver/database, and a voter receiver/database, and a "vote designer" which just set up the voting station's config (which was XML).
It was originally meant to have a piece of software so that people could register themselves to become receivers/proctors but it was never implemented and I had more than enough to talk about with the design and what was implemented (and it also left me something to talk about in my areas of improvement section).
After I graduated it was never touched again and I don't even know if I still have the code...
Later on I decided to try out and implement a better solution. In short it was on paper a behavior driven solution for matching preferences, with an underlaying layer of audio analysis and a collaborative fallback. If I look back at it, honestly talking, the implementation was a mess and probably biased towards the dataset.
I did a Master in ML + AI applied to Multimedia with a focus on audio signals. I went trough the same idea, this time with a more scientific approach. Graduated. Patented part of the algorithm, sold to a company, hired by the same company, integrated in their system, and moved on :)
In other words, pick something that you are passionate about, it maybe turn into a shortcut into the work world and give you a starting position much higher than any other grads.