Why Reinstalling Users Don't Return to 'First Run' — A First-Launch and State-Persistence Design for Rork (Expo) Apps
How to fix broken first-launch detection, onboarding, and free-trial state on reinstall in a Rork-generated Expo app, by treating it as an asymmetry in storage persistence. Covers what survives uninstall on iOS vs Android, separating install and version axes, and server-authoritative entitlements, with implementation.
Schema Versioning for Local Data in Rork Apps — Shipping Updates Without Wiping a Single Favorite
How I stopped losing users' locally stored data when shipping updates to Rork apps. A complete TypeScript migration runner with envelope versioning, backup keys, fixture tests, and the rule that keeps EAS Update schema-neutral.
Three Weeks of Moving Six Wallpaper Apps from AsyncStorage to MMKV in Rork
Notes from three weeks of gradually moving six wallpaper apps from AsyncStorage to react-native-mmkv. Personal write-up from an indie developer who has been shipping iOS and Android apps since 2014.
Fixing 'Row too big to fit into CursorWindow' on Android When AsyncStorage Holds Too Much in Rork
When a React Native app generated with Rork stores large JSON or image metadata in AsyncStorage, Android can throw a Row too big to fit into CursorWindow exception. Here are the practical fixes — MMKV migration, chunked keys, payload trimming, and compression — explained from real wallpaper-app experience.
Building a 'Remembering AI' Into Your Rork App — Persistent User Context for Real Personalization
Is your Rork app's AI starting from scratch every session? Learn how to persist user context, preferences, and conversation history locally — then inject it into your LLM calls to build an AI that actually knows your users.
Why Your Rork App Loses Data After an iCloud Restore (and How to Fix It)
If users complain that 'everything was wiped after switching iPhones,' the cause is almost always your iCloud backup configuration. This guide walks through how AsyncStorage, Documents, and Keychain behave on restore in a Rork app — and the exact settings you need to keep user state intact.
Rork App Data Not Saving or Disappearing: Causes and Fixes
When Rork app data isn't saving or disappears after a restart, a handful of root causes explain most cases. This guide covers AsyncStorage pitfalls, async timing bugs, key mismatches, and when to switch to MMKV.
Building Offline-First Apps with Rork — Practical Cache Strategies Using AsyncStorage and SQLite
A step-by-step guide to adding offline capabilities to Rork-generated apps, covering data persistence, background sync, and conflict resolution patterns that prevent user churn.
Build a Sleep Tracker App with Rork — A Complete Tutorial from Bedtime Logging to Sleep Score Analysis
Build a sleep tracker app with Rork. Log bedtimes, calculate sleep scores, and visualize weekly trends — a complete beginner tutorial with step-by-step prompts.
Local Data Persistence in Rork Apps — Choosing AsyncStorage, MMKV, and SQLite by Measurement
A measured comparison of local storage in Rork apps: AsyncStorage, MMKV, and SQLite. Covers a zero-downtime migration, MMKV pitfalls, and how transactions plus WAL make SQLite bulk inserts dozens of times faster — grounded in hands-on indie development.
How to Build a Note-Taking App with Rork — A Complete Beginner's Tutorial
Learn how to build a fully functional note-taking app with Rork from scratch. This step-by-step tutorial covers data persistence with AsyncStorage, real-time search, and category filtering.