Skip to main content

Writing by Perttu Lähteenlahti

111 posts on React Native, app monetization, design and cognitive science, written here and for RevenueCat and Expo.

How not to ship slop

AI is useful, but it will happily help you ship average work with a finished-looking surface — here is how to keep it from setting your bar.

App.js 2026 recap

A recap of App.js 2026 with a sponsor's, speaker's, and participant's perspective.

202629

Cover image for Seven more ways to win Shipaton

Seven more ways to win Shipaton

·RevenueCat logoRevenueCat

You may not need another app. One useful integration, growth experiment, or sharper audience could put the app you're already building in contention for another prize.

Cover image for How to build a “name your price” paywall

How to build a “name your price” paywall

·RevenueCat logoRevenueCat

Learn how to build a “name your price” paywall in React Native using RevenueCat. Create multiple price tiers, connect them to a single entitlement, and let users choose how much they want to pay.

Cover image for Why are React Native apps making more money?

Why are React Native apps making more money?

·RevenueCat logoRevenueCat

React Native apps consistently earn more than Flutter and native apps. See what 2026 RevenueCat data reveals about conversion, RPI, LTV, and why React Native teams win.

Cover image for RevenueCat now integrates with Appstack

RevenueCat now integrates with Appstack

·RevenueCat logoRevenueCat

Connect Appstack attribution data with RevenueCat subscription events. Measure campaign LTV, target paywalls by acquisition source, and close the loop on paid UA.

Cover image for How to use App Store Connect (ASC) CLI

How to use App Store Connect (ASC) CLI

ASC CLI lets you manage builds, submissions and localizations from your terminal instead of App Store Connect's web UI. Here's how to get started.

Cover image for Running custom built paywalls alongside RevenueCat Paywalls

Running custom built paywalls alongside RevenueCat Paywalls

·RevenueCat logoRevenueCat

Learn how to run a custom built paywall alongside RevenueCat paywalls to enable A/B testing, targeted offers, and advanced onboarding logic while keeping entitlements and purchases fully managed by RevenueCat.

Cover image for RevenueCat React Native SDK adds React Native Web support

RevenueCat React Native SDK adds React Native Web support

·RevenueCat logoRevenueCat

React Native apps can now handle subscriptions across iOS, Android, and web using a single RevenueCat SDK and entitlements system. With React Native Web support, web purchases flow through RevenueCat Web Billing (powered by Stripe) into the same backend as native purchases, so entitlement checks stay consistent across platforms. That means users can subscribe on the web and unlock access instantly on mobile — without custom cross-platform logic or separate billing systems.

Cover image for How to submit your app for Shipyard

How to submit your app for Shipyard

·RevenueCat logoRevenueCat

Learn how to submit your iOS or Android app to Shipyard, including TestFlight and Google Play testing requirements, RevenueCat integration, demo video rules, and judging criteria.

Cover image for How to win Shipyard

How to win Shipyard

·RevenueCat logoRevenueCat

Build a winning MVP for RevenueCat’s Shipyard hackathon. Learn how to pick the right idea, ship fast, get users, and pitch your app.

Cover image for What I'm reading in 2026

What I'm reading in 2026

Overengineered approach to tracking how many books I've read in 2026, with filtering, auto generated images, and progress bars

Cover image for How to add subscriptions to a Bolt app

How to add subscriptions to a Bolt app

·RevenueCat logoRevenueCat

How to add subscriptions to your Bolt + React Native app using RevenueCat and EAS Build. Full guide to setup, paywall logic, and Android deployment.

202535

Cover image for Trips of 2025

Trips of 2025

A visual breakdown of my travel in 2025: 57 flights across 7 countries.

Cover image for How to monetize your app without ads

How to monetize your app without ads

·RevenueCat logoRevenueCat

Ads rarely pay off for indie apps. Explore proven monetization models like subscriptions, consumables, and in-app currencies to build sustainable revenue.

Cover image for Understanding Apple's Retention Messaging API

Understanding Apple's Retention Messaging API

·RevenueCat logoRevenueCat

Here's how RevenueCat can automate Apple's Retention Messaging API for you, including localization, performance monitoring, and real-time delivery within Apple's 700 millisecond window.

Cover image for How to configure RevenueCat Redemption links in React Native

How to configure RevenueCat Redemption links in React Native

·RevenueCat logoRevenueCat

Learn how to use RevenueCat redemption links with Expo Linking and Expo Router to let web billing purchases unlock instantly in your app. Step-by-step tutorial with code examples for seamless cross-platform subscriptions.

Cover image for Building a tip jar feature with RevenueCat

Building a tip jar feature with RevenueCat

·RevenueCat logoRevenueCat

Learn how to add a tip jar to your app in under 15 minutes using RevenueCat. This step-by-step React Native guide shows you how to set up Test Store products, build a paywall, and launch your tip jar live on the App Store and Google Play — no subscription required.

Cover image for Why we chose native paywalls

Why we chose native paywalls

·RevenueCat logoRevenueCat

Why RevenueCat Paywalls are fully native — not WebViews. Faster load times, better accessibility, safer purchasing, and remote configuration without compromise.

Cover image for How to hack your app store ratings

How to hack your app store ratings

·RevenueCat logoRevenueCat

Learn how to hack your App Store and Google Play ratings ethically by prompting users at the right time. Discover how ratings affect growth, why good apps don’t always score well, and how to build a happiness engine that captures satisfied users without spamming them.

Cover image for How to win Shipaton part 2: building fast

How to win Shipaton part 2: building fast

·RevenueCat logoRevenueCat

Learn how to go from idea to launch fast with the 4-8-24 method. This guide shows how to prototype, polish, and release your app before the deadline.

Cover image for How to monetize your AI app with virtual currencies

How to monetize your AI app with virtual currencies

·RevenueCat logoRevenueCat

Learn how to monetize AI apps using RevenueCat's virtual currencies. This guide walks through building a coin-based paywall in React Native, complete with backend logic to securely track and spend credits.

Cover image for From first app to WWDC winner: Leandro Tolaini’s Shipaton story

From first app to WWDC winner: Leandro Tolaini’s Shipaton story

·RevenueCat logoRevenueCat

Computer science student Leandro Tolaini had never built an app before joining Shipaton. One year later, he’s a Swift Student Challenge winner and WWDC invitee. Learn how building in public helped him grow fast, ship his first product, and find his place in the iOS dev community.

Cover image for App.js 2025 recap

App.js 2025 recap

A personal recap of App.js 2025: speaking about in-app purchases, highlights from Krakow, favorite talks, and why this conference remains one of my top picks.

20246

20234

20215

Cover image for What is usability evaluation

What is usability evaluation

What usability evaluation means, the three ISO 9241 measures (effectiveness, efficiency and satisfaction), and how to tell if a product really works.

20209

Cover image for 20 things about 2020

20 things about 2020

20 things about 2020 from my perspective. I think there are easier ways to brag about your accomplishments than trying to mask them under an annual review.

201912

Cover image for Books About the Tech World

Books About the Tech World

Eight books that explain how startups, investors and tech companies really work, for anyone getting into tech without an engineering or business degree.

Cover image for VCs and Deep Tech: im14andthisisdeeptech

VCs and Deep Tech: im14andthisisdeeptech

Every investor wants deep tech, so every startup claims to be it. Most are the r/im14andthisisdeep version. One simple question tells them apart.

Cover image for Iowa Gambling Task

Iowa Gambling Task

How the Iowa Gambling Task uses a simple card game to study decisions under uncertainty, and what it shows about how we weigh risk and reward.

Cover image for What I read in 2018

What I read in 2018

Every book I read in 2018, from fiction to biographies, with short thoughts on each. Several came from Business Insider's list of 100 biographies.

Cover image for Too Old to Learn Code

Too Old to Learn Code

I thought 23 was too old to learn to code. Since then I've founded three companies and won about half of the 70 hackathons I entered.

Cover image for What is Strategy?

What is Strategy?

Most people think a strategy is just a plan. A good one has three parts: a goal, an honest diagnosis of where you are, and a plan to get from one to the other.

20183

20173

20152

Posts written for another publication are marked with its logo and open on that site. I revisit and revise old posts often, so if something here is wrong, unclear, or sparks a thought, tell me.