SuriDevs Logo

Latest Tutorials

Hands-on Android and Flutter tutorials from building real production apps. Covering Kotlin, Jetpack Compose, MVVM, Room, Coroutines, Riverpod, and more — with code you can actually use.

Room Database Android: Entities, Migrations & Relationships
Android Room Database Kotlin Jetpack

Room Database Android: Entities, Migrations & Relationships

I built a QR scanner app and users wanted scan history. Raw SQLite was painful. Room fixed that. Here's what actually matters when using Room in production.

Jetpack Compose After 2 Years in Production: Honest Review
Android Jetpack Compose

Jetpack Compose After 2 Years in Production: Honest Review

After using Jetpack Compose in production for two years, here's my honest take on where it shines and where it still struggles. Spoiler: I'm not going back to XML.

Android ConstraintLayout: Chains, Barriers & Performance
Android ConstraintLayout UI Design

Android ConstraintLayout: Chains, Barriers & Performance

Android ConstraintLayout is powerful but often overused. Here's how chains, barriers, and guidelines actually work — and when LinearLayout or Compose is a better choice.

Android R8 Resource Shrinking: 25MB to 13MB in One Flag
Android Performance Gradle

Android R8 Resource Shrinking: 25MB to 13MB in One Flag

I tested AGP 8.12's optimized resource shrinking on a real project — APK went from 25 MB to 13 MB. Here's how to set it up and what to watch out for.

Material 3 Expressive Jetpack Compose: New Components & Setup Guide
Google Material 3 Android

Material 3 Expressive Jetpack Compose: New Components & Setup Guide

Material 3 Expressive shipped with Android 16 — rounder corners, bolder typography, stricter touch targets, and slower animations. Here's what changed and how to update your Jetpack Compose app.

Advanced MVVM in Jetpack Compose: Search, Pagination & Flow
Android Jetpack Compose MVVM Kotlin Flow Pagination Architecture

Advanced MVVM in Jetpack Compose: Search, Pagination & Flow

Search with debounce, Flow-based pagination, cross-module SharedFlow communication, and production error handling — the MVVM patterns production Jetpack Compose apps actually need.