I made this guide on how to implement quaternions yourself and use them to rotate objects in a 3D engine. The implementation is probably not the most efficient, but I tried to make it simple enough to understand how quaternions work.
Thank you for making this and getting straight to the useful code. Too often, guides on quaternions stray into proofs and waste time for a programmer who just wants to apply the quaternion concept.