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 20: Working with JSON and Data Models

Working with JSON and Data Models Our TaskApi from lesson 19 returns a list of TaskDto — let's define that properly and understand why it&

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 19: Making Network Requests: Introduction to Retrofit

Making Network Requests: Introduction to Retrofit Time to fetch real data from an actual API instead of hardcoded lists. We'll use Retrofit, the standard

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 18: Understanding App Architecture: MVVM for Beginners

Understanding App Architecture: MVVM for Beginners The pattern we've been building toward has a name: MVVM (Model-View-ViewModel). You don't need

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 17: Introduction to ViewModel

Introduction to ViewModel A ViewModel holds UI-related data and survives configuration changes (like screen rotation) that would otherwise destroy and recreate your Activity, along with

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 16: Passing Data Between Screens

Passing Data Between Screens In lesson 15 we passed a simple taskId: Int between screens. That's actually the correct pattern — here's why,

Android Beginners
Jul 28, 2026 Read →
1 min read

Lesson 15: Navigating Between Screens

Navigating Between Screens So far we've only had one screen. Real apps need several. Let's add Navigation Compose so tapping a task

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