RORK LABJP
MAX — Rork Max builds native Swift apps for iPhone, iPad, Apple Watch, Apple TV, Vision Pro, and iMessageNATIVE — Rork Max unlocks AR/LiDAR scanning, Metal 3D, widgets, Live Activities, HealthKit, and moreFUNDING — Rork raised $2.8M from a16z, now drawing 743k+ monthly visits at an 85% growth rateRN — Standard Rork generates iOS and Android apps together using React Native (Expo)FOCUS — Rork focuses solely on native mobile apps, setting it apart from web-first Bolt and LovablePRICING — Free to start, paid plans from $25/mo, with Rork Max at $200/mo and two-click App Store publishingMAX — Rork Max builds native Swift apps for iPhone, iPad, Apple Watch, Apple TV, Vision Pro, and iMessageNATIVE — Rork Max unlocks AR/LiDAR scanning, Metal 3D, widgets, Live Activities, HealthKit, and moreFUNDING — Rork raised $2.8M from a16z, now drawing 743k+ monthly visits at an 85% growth rateRN — Standard Rork generates iOS and Android apps together using React Native (Expo)FOCUS — Rork focuses solely on native mobile apps, setting it apart from web-first Bolt and LovablePRICING — Free to start, paid plans from $25/mo, with Rork Max at $200/mo and two-click App Store publishing
Articles/Business
Business/2026-06-29Intermediate

Designing a Referral System Without a Heavy Backend

Add a referral program to your Rork (Expo) app without standing up a fleet of servers. Covers code generation, deferred deep-link attribution on first launch, idempotent reward fulfillment that never double-pays, and basic guards against self-referral and device farming, all with working code.

Rork474Expo122Referral ProgramAttribution5Deep Linking6App Monetization11

Premium Article

On one of the wallpaper apps I run on my own, an existing user once told me, "I'd love to recommend this to a friend if there were something in it for me too." When you want to grow through your users instead of leaning on ads, the first wall I hit was deceptively simple: how do you reliably record who invited whom? The referral mechanic itself is not hard. But carrying the referrer through to someone who hasn't installed the app yet, and paying a reward exactly once, are the two places where a careless design falls apart fast.

This walkthrough lays out how to add a referral program to a Rork-generated Expo app without standing up a fleet of servers. Working from the indie-developer assumption that you have no heavy backend, I will keep everything inside a single lightweight backend — Convex, in this example — with code along the way.

Decide first: when does a referral count?

The first decision in a referral program is not an implementation detail; it is "at what moment do we finalize the reward?" Start building before you settle this and you end up either weak to abuse, or with users who never receive their reward and lose trust. There are roughly three options, each with a different character.

Fulfillment momentAbuse resistanceInviter satisfactionBest-fit app
On installWeak (empty installs)High (instant)Free apps with small rewards
After a first meaningful actionMediumMedium (a short wait)Wallpaper/tool apps built on retention
After a purchase/subscriptionStrongLower (heavier condition)Revenue-driven subscription apps

For my wallpaper app I chose the middle path: the reward is finalized "once the invitee saves three favorites on their first run." It blunts empty-install abuse while not making the inviter wait too long. Pick this single point based on your app before you touch the implementation below.

The overall flow

A referral program is clearest when split into four stages.

  1. Code generation — issue a unique referral code per inviter and turn it into a shareable link
  2. Attribution — on the invitee's first launch, carry through which code they came from
  3. Claim — register the carried code with the backend to form the referral relationship
  4. Fulfillment — once the condition is met, pay both sides idempotently

We build in that order.

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
Stand up a two-sided referral program that rewards both the inviter and the invitee using a single lightweight backend such as Convex
Build deferred deep-link attribution that carries the referrer through to first launch even when the invitee has not installed the app yet
Make reward fulfillment fire exactly once with an idempotency guard, plus practical guards against self-referral and device farming
Secure payment via Stripe · Cancel anytime

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Rork Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $10 for lifetime access
View Membership →

Related Articles

Business2026-06-16
Making Your Rork App's Ad ROI Visible — Mapping SKAdNetwork Conversion Values to Revenue
If you run acquisition ads for a Rork-built app but can't tell which campaign is profitable, the reason is almost always that you never mapped SKAdNetwork conversion values to revenue. Here is the 6-bit design, taken all the way to implementation.
Business2026-06-14
Win Back Lapsed Users with App Store In-App Events — Deep Link Implementation for Rork (Expo) Apps
An implementation memo on bringing lapsed users back to a Rork (Expo) app using App Store in-app events. Covers event card design, universal link routing, and measurement, from a solo developer's operational view.
Business2026-05-03
The Road to ¥1.5M/Month on AdMob — An Honest Account from 16 Years of Indie Mobile Development
The eight concrete steps I actually took to reach over ¥1.5M/month in AdMob revenue as an indie developer — including the rewarded-ad architecture, eCPM optimization, the failure that dropped my app to a 1.8-star rating, and how I rebuilt from there.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →