Building StickerExplode(Part 1): Gestures, physics, and making stickers feel real Part 1 of three. This one covers the gesture system, spring physics, peel-off animation, and die-cut rendering. Part 2 gets into the holographic shader, tilt sensing, haptics, and cross-platform architecture. I built a
Building StickerExplode(Part 2): The peel-off effect and holographic shimmer Part 2 of three. Part 1 covers what the app is and the tech stack. This one goes deep on two features. Part 3 is the full end-to-end build. Two things people ask
Building StickerExplode(Part 3): The full end-to-end build Part 3 of three. Part 1 covers what the app is. Part 2 goes deep on the peel-off effect and holographic shimmer. This one walks through everything else: die-cut rendering, tilt sensors, haptics,
Introducing Lumen: Transparent Coachmarks for Jetpack Compose Spotlight your UI, not a screenshot of it. Onboarding is where first impressions are made. A well-guided tour can mean the difference between a user who churns after day one and one who
Compose Performance Bottlenecks: Anti-Patterns That Ship Bugs Jetpack Compose is elegant. It's also a landmine. The same reactive model that makes Compose declarative can silently swallow your coroutines, fire effects multiple times, and leave users staring at frozen
The OkHttp API You're Not Using Your logging interceptor is lying. Here is what actually happens inside OkHttp - and how to finally see it.
Building a Design System with Jetpack Compose - Andromeda Blog series explaining the thought process of how to build a custom design system and what went into building a new Jetpack compose open-source library called Andromeda.
Testing Learning from failures at scale Some fun and interesting bits of how do we manage a super app at @gojek - What goes into making and maintaining large projects. - How does a developer cater to new features. - What are some of the troubles they face. - How do junior developers collaborate with senior
Json Ad-hoc polymorphism in JSON with Kotlin This post describes a way of using the GSON and Mosi library with Kotlin data classes with Polymorphic JSON data with null-safety and default values.
Dsl Kotlin DSL - let's express code in "mini-language" - Part 5 of 5 In this post, we take a look at building our test cases by using a simpler language-like DSL. I wanted a “simple” low overhead way of setting up, expressing and testing many combinations of inputs and outputs.The goal is simple , create DSL for expressing the tests clearly and to
Dsl Kotlin DSL - let's express code in "mini-language" - Part 4 of 5 In this post, we take a look at building a simpler API to work with Broadcast receiver, which will automatically unregister itself when the Activity pauses, and register again when it resumes. Broadcast Receiver To build this , we first create a class which observes lifecycle events class Broadcas
Dsl Kotlin DSL - let's express code in "mini-language" - Part 3 of 5 In this post , we take a look at some of the use cases of DSLs in Android.
Dsl Kotlin DSL - let's express code in "mini-language" - Part 2 of 5 Part 2 of series on how to work with Kotlin DSLs
Dsl Kotlin DSL - let's express code in "mini-language" - Part 1 of 5 In this series , we will take a look at what DSLs are and how to build our custom Kotlin DSLs and apply them to multiple use cases for Android. What is DSLThe concept of DSL or domain-specific language is pretty simple. A domain specific language is a construct that allows
Android Kotlin — Quick Shared Element transition trick Shared Element Transition : Having a view that moves from one activity to another in a smooth motion. Let’s say you have more than one view to do a shared element transition in your app, how do you do it in Kotlin ? We would like to transition multiple views like