Diving into my first custom widget is much more difficult than I expected! A rant to begin...the documentation for the WAB is dreadful. I continually have to poke through the existing widgets and the jimu.js files to figure out what the different components do and how to implement them properly. And making it configurable in builder is going to be even more digging. This page doesn't even begin to cover the complexities creating a Settings panel and all of its components.
That said, I am diving into the deep end early off as I translate one of my existing JS application into WAB. In this widget, a user logs into AGOL to retrieve a specific feature layer, which is added to the map. The map already contains many other layers in a service that is used as background data. The user will then select features from this new layer to change their attributes.