// say hi

$ whoami

Hi, I'm Pushpal Roy.

10+ years shipping native & multiplatform apps.

// stack

  • Android
  • Kotlin
  • Kotlin Multiplatform
  • Jetpack Compose
  • Compose Multiplatform
  • Java
  • Flutter
  • Dart
  • Clean Architecture
  • MVVM
  • Server-Driven UI
  • SOLID
  • Ktor
  • REST
  • APIs
  • GraphQL
  • Retrofit
  • OkHttp
  • WebSockets
  • WebRTC
  • SQLite
  • SQLDelight
  • Firebase
  • JUnit
  • Mockito
  • MockK
  • Espresso
  • Robolectric
  • GitHub Actions
  • CircleCI
  • Fastlane
  • Gradle
  • Play Integrity API
  • SSL / TLS
  • OAuth 2.0
  • JWT
  • E2EE

// featured projects

A handful of things I've built, am building, or maintain.

shipped · 2024

JetLime

Compose Multiplatform timeline-view library — Android, iOS, Desktop, Web.

  • Kotlin
  • Compose Multiplatform
  • Maven Central
  • Android
  • iOS
shipped · 2022

JetTaskBoardKMP

Trello-style Kanban app on Compose Multiplatform — Android, iOS, Desktop.

  • Kotlin Multiplatform
  • Compose Multiplatform
  • Android
  • iOS
  • Desktop
shipped · 2022

MoviesKMM

Movies discovery app on Kotlin Multiplatform Mobile — shared core, native UI.

  • Kotlin Multiplatform
  • Ktor
  • SQLDelight
  • Android
  • iOS
shipped · 2021

Jetflix

Streaming-app UI study built end-to-end in Jetpack Compose.

  • Kotlin
  • Jetpack Compose
  • Coroutines
  • Coil

// latest from the blog

Things I learned the hard way, written down before I forget.

compose2024.03.14 · 8 minMedium

Container transform animation with Lookahead in Jetpack Compose

Recreating Material's container-transform pattern using LookaheadLayout — without resorting to shared-element shims.

  • #android
  • #compose
  • #animation
  • #lookahead
compose2024.03.12 · 10 minProAndroidDev

Animations with Lookahead in Jetpack Compose

Using LookaheadLayout to drive smooth, layout-aware transitions that survive recomposition and structural change.

  • #android
  • #compose
  • #animation
  • #lookahead
compose2024.03.04 · 8 minProAndroidDev

Instagram-style long-press & draggable carousel indicators in Jetpack Compose

Building the long-press, expand, and drag-to-scrub indicator pattern that Instagram uses for its image carousels — in Jetpack Compose.

  • #android
  • #compose
  • #animation
compose2024.03.02 · 11 minProAndroidDev

Overcoming common performance pitfalls in Jetpack Compose

A field guide to the recomposition, stability, and key-handling traps that quietly slow Compose UIs down — and how to fix them.

  • #android
  • #compose
  • #performance

Command palette

Search for a command to run...