is there a way to have a weather widget in an application built using the experience builder?
If you are using Enterprise or Developer Edtion, I have done this. See the link here
This uses a 3D scene and the open street map buildings layer, plus it gets live weather details from WeatherAPI.com, it then uses the values from this to change the environment based on the results of the input point.
See some screen shots below of what looks like when its raining (if you can't find a place where its raining or snowing).
I'm happy to supply the code, or if you want to have a crack it building it yourself, I have also blogged about how I built it. (It does get quite technical). I basically built a JSAPI widget and then wrapped it in an Experience Builder widget, this was done for my own R&D purposes, so its a little over the top, but it all works.
Rain Radar – ArcGIS Experience Builder Widget | Esri Australia Technical Blog (wordpress.com)
There is this live radar widget.