SharedFlow is a Kotlin tool to send events to many listeners. First, you create a MutableSharedFlow. Then, you emit events into it. These events stay in the flow depending on replay settings. When subscribers start collecting, they receive events currently in the flow. In the example, an event "Hello" is emitted before the collector starts. Because the event is still in the flow, the collector receives and prints it. If replay was zero, the collector would miss past events. SharedFlow is great for broadcasting events like button clicks or messages to multiple parts of your app.