Engineering blog posts

Featured Post

Why we chose native paywalls

If your paywall feels like a web page, you’ve already lost

Perttu Lähteenlahti

Perttu Lähteenlahti

October 21, 2025

Follow for updates:
Simplify in-app purchase unit testing with RevenueCat’s Test Store
Engineering

Simplify in-app purchase unit testing with RevenueCat’s Test Store

You'll deep dive into building reliable, automated unit tests for your in-app purchases logic, especially based on Android and Kotlin

Jaewoong Eum

Jaewoong Eum

November 12, 2025

Understanding Apple’s Retention Messaging API (and how RevenueCat can help you with it)
Engineering

Understanding Apple’s Retention Messaging API (and how RevenueCat can help you with it)

Apple’s new retention capability × enterprise-grade reliability (and no backend work required on your side) = 💛

Víctor López Ferrando

Víctor López Ferrando

November 04, 2025

Understanding the native SDK wrapper pattern in Kotlin Multiplatform
Engineering

Understanding the native SDK wrapper pattern in Kotlin Multiplatform

In this deep dive, we’ll explore how RevenueCat’s delegation pattern wraps native Android and iOS SDKs, enables effortless bidirectional conversion, and minimizes wrapper overhead.

Jaewoong Eum

Jaewoong Eum

November 03, 2025

How to configure RevenueCat Redemption links in React Native
Engineering

How to configure RevenueCat Redemption links in React Native

Unlock web purchases in your React Native app with one tap

Perttu Lähteenlahti

Perttu Lähteenlahti

October 27, 2025

Building a tip jar feature with RevenueCat
Engineering

Building a tip jar feature with RevenueCat

A simple, low-pressure way to let users support your app — without a subscription.

Perttu Lähteenlahti

Perttu Lähteenlahti

October 24, 2025

The Sub Club Podcast

Interviews and deep dives with the experts behind the biggest apps in the world.

Listen now
Engineering

Understanding Google Play subscription proration: a developer’s guide

Google Play's subscription proration system gives you fine-grained control over how users are charged when changing plans.

Jaewoong Eum

Jaewoong Eum

October 23, 2025

Understanding the internal of Flow, StateFlow, and SharedFlow
Engineering

Understanding the internal of Flow, StateFlow, and SharedFlow

In this article, you'll dive deep into the internal mechanisms of Flow, StateFlow, and SharedFlow, exploring how they work under the hood.

Jaewoong Eum

Jaewoong Eum

October 15, 2025

What makes an app worth buying? Lessons from BlueThrone’s shift from volume to value
Engineering

What makes an app worth buying? Lessons from BlueThrone’s shift from volume to value

BlueThrone’s Josh Peleg shares what app buyers really value today — from predictable recurring revenue to the marketing moats driving seven-figure exits.

David Barnard

David Barnard

October 15, 2025

SubComposeLayout and BoxWithConstraints internals in Jetpack Compose
Engineering

SubComposeLayout and BoxWithConstraints internals in Jetpack Compose

In this article, you'll dive deep into SubcomposeLayout, the internal mechanisms that power it, how BoxWithConstraints leverages it.

Jaewoong Eum

Jaewoong Eum

October 12, 2025

Subscribe to our newsletter

Understanding SupervisorJob in Kotlin Coroutines
Engineering

Understanding SupervisorJob in Kotlin Coroutines

In this article, you will learn what SupervisorJob is, how it works under the hood, and explored real-world use cases from viewModelScope and the RevenueCat SDK.

Jaewoong Eum

Jaewoong Eum

October 06, 2025

Exploring Modifier.Node for creating custom Modifiers in Jetpack Compose
Engineering

Exploring Modifier.Node for creating custom Modifiers in Jetpack Compose

In this article, you will learn how to create custom modifiers using the three primary APIs, Modifier.then(), Modifier.composed(), and Modifier.Node

Jaewoong Eum

Jaewoong Eum

September 30, 2025

Enhance in-app purchase experiences with slide to unlock in Jetpack Compose
Engineering

Enhance in-app purchase experiences with slide to unlock in Jetpack Compose

In this article, you’ll explore the open-source slide-to-unlock library, built by RevenueCat, and learn how to integrate it with RevenueCat’s in-app purchases in Jetpack Compose

Jaewoong Eum

Jaewoong Eum

September 24, 2025

Want to see how RevenueCat can help?

RevenueCat enables us to have one single source of truth for subscriptions and revenue data.

Olivier Lemarié, PhotoroomOlivier Lemarié, Photoroom
Read Case Study