There are some ways to make sure your loaded object is in fact an entity of type node. I prefer the following way. In addition I check if the entity types are correct too.

I found a nice way to build complex menu's with twig in Html. Here are a few snippets
Custom entities provide great control and flexibility because your entire entity resides in code. This snippet shows how to add a field to your entity, with an update hook. Because once the entity is installed, you should be able to add/remove/edit your fields.
I had a case where an extra tab was necessary on the user pages. This snippets show you how to do it.
By default drupal will take 600 characters to show your description. But you need to know that this setting is used to show in the metatags as well.
In this video I discuss block caching in drupal 8 & 9. It is quite radically different from drupal 7. I discuss cache tags, cache context and cache max-age.
A few months ago I released a module that provides an out-of-the-box solution for lazy loading of images in drupal 8.
What if you have to link to a specific url in in twig, but you only have the nid? Moreover, it is good practice to use the id and not a hardcored url. Here's what you should use:
String translations are always a bit a pain in the ass for drupal. Luckily, in drupal 8 the function is rather easy.