building complex software with artificial intelligence