At the core of every frontend framework lies the process where the DOM needs to be updated, a defining factor for performance and, consequently, the success of the framework. In Angular, this process seems almost magical. When we modify a property, the change promptly appears in the UI. This is commonly known as change detection. However, numerous other terms are often thrown into the mix, such as zone.js, dirty marking, OnPush, and Signals. Through animations and live coding, I'll break down the inner workings of change detection so that you will be able to customize it to your own needs.