I would appreciate if anyone knows of a small project out there that uses category theory to learn how to design and architect a solution (even better if it's in Haskell!)
If you're simply curious about the mathematical structures that Haskell's standard typeclasses are named after, then by all means learn category theory.
But if you're trying to improve your ability to use those typeclasses to write real-world software, I recommend "Haskell From First Principles" and/or "Effective Haskell". And get your hands dirty writing actual programs - practice makes perfect.
The only difference is that with CAT you have theorems asserting what's true and what's not, with classes I don't think there's much literature. A similar reasoning can be applied to neural networks as there are very different POV: someone will look at them as ODE systems, other as a pure discrete dynamical system or as an optimization problem or whatnot.
I think functors are easier to understand and more fundamental to category theory and programming than monads.
You develop a language that models your domain, translate that into a diagram, and translate that diagram into code.
(Okay, actually topos theory since you’re going between type theories and diagrams — but you use the diagrams to move between type theories and define “equivalent structure”.)