What did you do make the project interactive enough so you don’t end up copying existing implementations?
I'm not too sure what you mean. I kinda just avoided looking at existed implementations because it's a bit more interesting to do it myself.