Smart Applications with Advanced Machine Learning and Human-Centred Problem Design