This could also be done with a fair amount of commercial software, especially anything that's basically a wrapper around APIs, databases, etc.