I've had a few cases lately where I've needed to create a custom Elementor widget, where it seemed better to do that than create a shortcode in the functions.php file (more flexibilty, easier to change responsive styles and settings, etc.)
I made a very basic boilerplate based on the Elementor documentation, since they don't really have a turn-key search-and-replace option. I tried some others but they were overly complicated or hard to search-replace.
Here is the public github repo for my version: https://github.com/mdrideout/boilerplate-elementor-extension
It just has a single “Hello World” widget you can change the text on, and select various headings for.