Don't know if it helps you, but just write the thing from the ground up using C++. The parts you don't have, integrate with 3rd party utilities. The parts that you do have, make them flexible. Keep moving. Don't expect your initial setup to be great, just keep building a piece at a time, and...