Delivering Mobile apps

Notes from a lead mobile engineer.

I write about Kotlin, Jetpack Compose, Kotlin Multiplatform, and the occasional Flutter detour — plus what it actually takes to lead a mobile team without losing the plot. No marketing copy, just what worked (and what didn't).

@Composable
fun YoudroidCard(post: Post) {
ElevatedCard(
  shape = RoundedCornerShape(20.dp),
  // ship it, then write it up
) { PostContent(post) }
}
Recent posts

From the field

1 min read

Lesson 14: Lists in Compose: LazyColumn and LazyRow

Lists in Compose: LazyColumn and LazyRow Our task list app needs to show a list of tasks. A plain Column would technically work, but it renders

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 13: Building a Simple Interactive Screen (Counter App)

Building a Simple Interactive Screen (Counter App) Let's combine everything from lessons 6–12 into one complete, working screen. @Composable fun CounterScreen() { var count

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 12: State in Compose: remember and mutableStateOf

State in Compose: remember and mutableStateOf This is the most important lesson in the entire course. Everything from here forward depends on understanding this properly. The

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 11: Buttons and Handling User Input

Buttons and Handling User Input Time to make something interactive. Compose gives you several built-in input components — let's cover the two you'

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 10: Displaying Text and Images

Displaying Text and Images We've used Text a lot already. Let's cover it properly, then add images. Styling text Text( text = "

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 9: Modifiers: Styling and Spacing in Compose

Modifiers: Styling and Spacing in Compose Every composable accepts a modifier parameter — it's how you control padding, size, background color, click behavior, and much

Android Beginners
Jul 28, 2026 Read →
Youdroid
11+ yrs Mobile Developer
About the author

Hey, I'm Ahmad Najar, the person behind this blog.

I lead a mobile engineering team by day and write here by night (well — mostly on weekends, coffee in hand). This blog is where I dump the stuff that doesn't fit in a Slack thread: Compose patterns I keep reaching for, what actually happened when we moved shared logic to Kotlin Multiplatform, and the messier parts of managing engineers instead of just being one.

No sponsored posts, no growth-hacking. Just notes from someone who's still writing Kotlin most days and occasionally still gets paged at 2am.

Kotlin Jetpack Compose KMP Team Leadership