Quite ambitious, if you plan on writing this yourself!

I imagine you have already Googled this, would you mind sharing what you learned? It's a very interesting project.