Really difficult concept you have thought about here. You can do it really simply by having the basics on it, which has already been done. But if you want to in depth the complexities of it make it difficult to be user friendly. Also each machine will be slightly different so something like dosing will be hard to show people.
After saying it is too hard I hope you still want to do it and you can work something that the average person wants to play with.
I would like to see 30 mls in 30sec, fresh coffee, freshly ground, and just cause the lights on the machine say that it is hot dont make it so!