Your first @Composable

Functions that draw the screen

You've spent three modules on plain Kotlin β€” no screen, no pixels. Time to fix that. Jetpack Compose's one big idea: a UI building block is just a function, marked with an annotation that tells Compose "this function describes some UI."

That annotation is @Composable. Slap it on a function, and instead of returning a value, the function's body emits UI by calling other @Composable functions inside it β€” Text, Row, Button, and eventually your own. Compose calls your function to find out what to draw, and calls it again β€” recomposition β€” whenever the state it reads changes.

If you've done the iOS track: a @Composable function is Kotlin's answer to a SwiftUI View struct. Different spelling (fun vs struct + body), same declarative idea β€” describe the screen for the current state, don't poke pixels by hand.