The base I started on some weeks/months ago, and took me around 1-2 weeks to build most of it and after that I lost some interest/motivation so I stopped for a few weeks.
As for resources first I made a interpreter which is also on my github just out of head without googling anything to see how far I could come with the knowledge I had, then after that for some feature I wanted to add a interpreter wasn't the best fit and a VM would be better, so I decided to rewrite it and change the interpreter to a compiler of sorts and write a VM which I searched for articles on VM/Compilers and stuff.
As for resources first I made a interpreter which is also on my github just out of head without googling anything to see how far I could come with the knowledge I had, then after that for some feature I wanted to add a interpreter wasn't the best fit and a VM would be better, so I decided to rewrite it and change the interpreter to a compiler of sorts and write a VM which I searched for articles on VM/Compilers and stuff.