Learning from complexity