Yay! Sync up with this guy and write the code to make his graphics real.
Are you familiar with the Scrum approach to software development? One of the key concepts is to sort your features by how valuable the are to the end user, work on them in that order. Simple idea, but since it seems like 9 out of 10 new front end projects never come to fruition I am compelled to bring it up.
If you can make a front end that does just one thing (e.g. music player), but does it really well, then maybe that will sustain interest in the project long enough to get all of the components built that are needed to get widely adopted. It would have more staying power than a front end has a sorta-decent music player and a sorta-decent phone support and sorta-decent OBD2, and so on.
While I'm here I'm also going to suggest separate executable for the main screen, the music player, the hands-free phone support, and so on. If one crashes, the others keep going and the dead one gets re-launched the next time the use selects that feature from the main screen. Plus it opens the door to competing implementations of each feature - if someone doesn't like your hands-free component, they can rewrite it (re-using your skinning, etc) without getting involved with the rest of the code, and users can swap out the executable for a specific feature when a better one comes along.
FWIW, I've also been doing C# for several years (and C++ for several years before that) but my employment contract forbids me from getting involved in projects like this. Kinda sucks, but I like my job. So I'm just here as a cheerleader.