Demo is available at [http://weather.gilbertoalbino.com/]
Timber Plugin was intalled via Admin Panel.
NOTICE: OpenWeatherMap API won't find any city, mostly capitals, and will distinguish special chars so "Brasília" (with sharp accent) will not be the same as "Brasilia".
Check source code for code inspection.
The file src/wp-content/themes/forecast/templates/page-home.twig
contains the HTML used for rendering the page itself, and
the file src/wp-content/themes/myforecast/assets/js/scripts.js
contains the Javascript used for retrieving the JSON from OpenWeatherMap.