How algorithms are designing better buildings