Shipped this project!
I built a completely functional linux shell, you can run commands, redirect output, execute concadenated commands etc, halfway through the development I figured that writing an insecure shell was actually pretty easy so I also added a branch with a vulnerable version similar to projects as Damn Vulnerable Web Services, where the objective is to learn pentesting by a hands on the problem approach (if you’re interested in cibersec you should try it!). This was probably one of the most complex programs I have ever written,it uses syscalls, parsing, matrixes, a whole lot of dynamic memory allocation, frees. I learnt A LOT while developing the program , specially about the malloc() family of functions and the syscalls/linux systems modules, I started this as a way to masterice my C skills and im pretty proud to say that I achieved it.