Jetpack Compose Academy icon

Jetpack Compose Academy

KOTLINMobileAndroidFrontend

Build modern Android UIs with Jetpack Compose, Google's declarative toolkit in Kotlin. From your first Composable to publishing on Google Play.

🤖 AI-Powered📚 30 courses👥 100,000+ learners⭐ 4.9 rating

How You'll Learn

🎯
Interactive Lessons
Hands-on coding exercises with real-time feedback
🤖
AI Tutor
Get instant help from our AI when you're stuck
💻
Built-in Editor
Write and run code directly in your browser
🏆
Certificate
Earn a certificate when you complete the course
Curriculum

30 Courses

Every course in the Jetpack Compose Academy learning path.

01

Welcome to Jetpack Compose

A14 lessons

Set up Android Studio for Compose and run your very first declarative UI.

  • What Compose Replaces: Goodbye XML
  • Set Up Android Studio for Compose
  • Anatomy of an @Composable Function
  • +1 more
02

Your First Composable

A14 lessons

Write and preview Composables that draw real content on screen.

  • Writing a @Composable Function
  • Live Previews with @Preview
  • Calling Composables from Composables
  • +1 more
03

Text & Typography

A14 lessonsPRO

Display and style text with fonts, colors, and emphasis.

  • The Text Composable
  • Font Size, Weight & Style
  • Color, Alignment & Overflow
  • +1 more
04

Images & Icons

A14 lessonsPRO

Render local drawables, vector icons, and shaped images.

  • The Image Composable
  • Material Icons with Icon
  • ContentScale & Cropping
  • +1 more
05

Buttons & Click Handling

A14 lessonsPRO

Add interactive buttons that respond to taps.

  • Button and onClick
  • Text, Outlined & Icon Buttons
  • Enabled, Disabled & Loading States
  • +1 more
06

Layout with Column, Row & Box

A24 lessonsPRO

Arrange Composables vertically, horizontally, and stacked.

  • Column: Stack Things Vertically
  • Row: Place Things Side by Side
  • Box: Layer & Overlap
  • +1 more
07

Modifiers: Shape Every Composable

A24 lessonsPRO

Use the modifier chain to size, pad, and decorate any element.

  • Padding, Size & fillMaxWidth
  • Background, Border & Clip
  • Why Modifier Order Matters
  • +1 more
08

State Basics: Make the UI React

A24 lessonsPRO

Hold and change state so your UI updates automatically.

  • remember & mutableStateOf
  • Recomposition: What Triggers a Redraw
  • Build a Tap Counter
  • +1 more
09

Forms & Text Input

A24 lessonsPRO

Capture user input with text fields and validate it.

  • TextField & OutlinedTextField
  • Labels, Placeholders & Leading Icons
  • Keyboard Types & IME Actions
  • +1 more
10

Build a Profile Card App

A24 lessonsPRO

Combine layout, images, text, and state into a finished screen.

  • Sketch the Profile Card Layout
  • Avatar, Name & Bio Section
  • Stats Row & Follow Button
  • +1 more
11

Lists with LazyColumn

B14 lessonsPRO

Render long, scrollable lists efficiently with lazy composition.

  • LazyColumn vs Scrollable Column
  • items & itemsIndexed
  • Keys for Stable, Fast Lists
  • +1 more
12

Grids & Horizontal Lists

B14 lessonsPRO

Lay out content in grids and swipeable horizontal rows.

  • LazyVerticalGrid Galleries
  • LazyRow for Carousels
  • Adaptive vs Fixed Grid Cells
  • +1 more
13

Material 3 Theming

B14 lessonsPRO

Apply a cohesive Material You theme across your whole app.

  • MaterialTheme & Color Schemes
  • Typography & Shape Tokens
  • Dark Mode & Dynamic Color
  • +1 more
14

Scaffold & App Structure

B14 lessonsPRO

Frame screens with top bars, bottom bars, and FABs using Scaffold.

  • Scaffold: The Screen Skeleton
  • TopAppBar & Action Icons
  • Bottom Bars & Floating Action Buttons
  • +1 more
15

State Hoisting & Reusable Components

B14 lessonsPRO

Design stateless Composables by lifting state to the right owner.

  • Stateful vs Stateless Composables
  • Hoist State with value & onValueChange
  • Single Source of Truth
  • +1 more
16

ViewModel & UI State

B14 lessonsPRO

Move business logic into a ViewModel and expose immutable UI state.

  • Why ViewModel Survives Rotation
  • viewModel() in a Composable
  • Modeling a UiState Data Class
  • +1 more
17

Navigation Compose

B14 lessonsPRO

Move between screens with the Navigation Compose graph.

  • NavController & NavHost
  • Composable Destinations & Routes
  • Passing Arguments Between Screens
  • +1 more
18

Bottom Navigation & Tabs

B14 lessonsPRO

Build multi-section apps with bottom nav bars and tab rows.

  • NavigationBar with Multiple Tabs
  • Highlighting the Selected Route
  • Preserving Tab State on Switch
  • +1 more
19

Side Effects in Compose

B14 lessonsPRO

Run non-UI work safely with Compose's effect handlers.

  • LaunchedEffect for Coroutines
  • rememberCoroutineScope for Events
  • DisposableEffect & Cleanup
  • +1 more
20

Networking with Retrofit

B14 lessonsPRO

Fetch JSON from a REST API and show it in your Compose UI.

  • Define a Retrofit API Interface
  • Parsing JSON with Moshi
  • suspend Calls in the ViewModel
  • +1 more
21

Custom Layouts with Layout

B24 lessonsPRO

Build bespoke layouts by measuring and placing children yourself.

  • The Measure & Place Model
  • Writing a Layout Composable
  • Constraints & Intrinsic Measurements
  • +1 more
22

Drawing with Canvas

B24 lessonsPRO

Render custom graphics, charts, and shapes on a Compose Canvas.

  • DrawScope: Lines, Rects & Circles
  • Paths, Gradients & Blend Modes
  • drawWithCache & Performance
  • +1 more
23

Animations & Motion

B24 lessonsPRO

Bring screens to life with state-driven and gesture-driven motion.

  • animate*AsState for Simple Tweens
  • AnimatedVisibility & Crossfade
  • updateTransition for Coordinated Motion
  • +1 more
24

Gestures & Touch Input

B24 lessonsPRO

Handle taps, drags, swipes, and multi-touch with the pointer API.

  • pointerInput & detectTapGestures
  • Drag, Swipe & Fling
  • Transform: Pan, Zoom & Rotate
  • +1 more
25

Performance & Recomposition

B24 lessonsPRO

Profile and tune Compose to eliminate unnecessary recompositions.

  • Stable vs Unstable Parameters
  • Skipping, @Stable & @Immutable
  • Deferring State Reads
  • +1 more
26

Flow & Coroutines in Compose

B24 lessonsPRO

Stream reactive data into the UI with Kotlin Flow and StateFlow.

  • StateFlow vs SharedFlow
  • Mapping & Combining Flows
  • stateIn & WhileSubscribed
  • +1 more
27

Local Persistence with Room

B24 lessonsPRO

Store and observe data locally with Room and Flow.

  • Entities, DAOs & the Database
  • Reactive Queries Returning Flow
  • The Repository Pattern
  • +1 more
28

Dependency Injection with Hilt

B24 lessonsPRO

Wire dependencies into ViewModels and screens with Hilt.

  • Why DI: Testable, Decoupled Code
  • Modules, @Provides & @Binds
  • hiltViewModel & @HiltViewModel
  • +1 more
29

Testing Compose UIs

B24 lessonsPRO

Write reliable unit and UI tests for your Compose screens.

  • createComposeRule & Finders
  • Assertions & Performing Actions
  • Semantics & Test Tags
  • +1 more
30

Ship to the Play Store

B24 lessonsPRO

Polish, package, and release a production-ready Compose app.

  • Accessibility & Edge-to-Edge UI
  • Baseline Profiles for Fast Startup
  • Signed Release App Bundle
  • +1 more
FAQ

Frequently Asked Questions

Is the Jetpack Compose Academy course free?

Yes. You can start the Jetpack Compose Academy course for free and complete its interactive lessons at no cost. An optional PRO subscription unlocks advanced AI tools and a shareable certificate.

Do I need prior experience to learn KOTLIN?

No. The course begins with the fundamentals and gradually moves to more advanced topics, so you can start even with no prior KOTLIN experience.

How will I learn KOTLIN on CoddyKit?

You learn by doing. Short interactive lessons pair a clear explanation with a hands-on coding exercise that runs in real time, and a 24/7 AI tutor gives personalized help whenever you get stuck.

Do I get a certificate for completing Jetpack Compose Academy?

Yes. PRO learners can take an exam and earn a shareable certificate of completion with a verifiable code for the Jetpack Compose Academy course.

Can I learn KOTLIN on my phone?

Yes. CoddyKit is available on the web and as native iOS and Android apps, so you can learn KOTLIN on any device and your progress syncs across them.

Start Jetpack Compose Academy Now

Join thousands of learners mastering programming with AI-powered lessons.

Get Started Free →Browse All Courses