Omnichannel · Member-get-Member
Members recruit members — growth that doesn't cost ad spend.
Your best customers already vouch for you. Flash turns that into a measurable channel: invites with anti-abuse quotas, points credited only when a referral actually converts, and a real network graph of who brought whom.
The problem
Acquisition keeps getting more expensive. Advocacy is sitting unused.
Paid acquisition only climbs
Every new customer costs more than the last, while the members who already love you go untapped as a channel.
Vanity counters mislead
"Invites sent" looks like growth, but a sent invite is not a customer. Reward on sends and you pay for noise.
No view of who drives whom
Without a real network of converted referrals, you can't see — or double down on — the members actually recruiting others.
How it works
Invite, convert, credit — then it becomes a real edge in your graph.
Flash credits a referral only when the invite reaches status = converted. That same rule is the single source of truth for the network graph — so what you reward and what you see always agree.
Two-way, on one ledger
Referrer and referee both earn through the same idempotent points ledger as purchases — no parallel, leaky bonus path.
Anti-abuse by quota
Per-batch, per-day, and lifetime invite limits, plus an expiry cron that reclaims invites that never convert.
Converted-only edges
The graph is built from converted referrals alone — pending and expired invites never inflate your network.
The relationship graph
See your advocacy as a network — not a leaderboard.
Flash pre-computes a daily snapshot of your referral network and lays it out with a zero-dependency, deterministic force-directed algorithm. Reads are O(1) against the snapshot, so the graph never blocks the page or re-decrypts hundreds of member records on every view.
- Hubs surface your strongest advocates at a glance.
- Canvas animation: hover highlights a member's neighborhood; click jumps to their profile.
- Respects reduced-motion, and gracefully down-samples very large networks.
Green hubs = high-degree advocates · navy nodes = members they recruited
Why it's different
A referral counter is not a referral program.
Lightweight referral widgets reward the click and call it growth. Flash rewards the conversion and shows you the network — so your referral budget buys customers, not invites.
Typical approach
Vanity referral counters
Credit on "invite sent" or "link clicked" — easy to game, hard to trust.
Flash, by design
Credit only on status = converted, through the same idempotent ledger as every other earn.
Typical approach
Standalone referral widgets
Bolt onto one storefront, blind to who your real advocates are.
Flash, by design
A daily relationship graph of converted referrals across your whole member base.
Typical approach
Unbounded invite spam
No guardrails, so a few accounts flood and farm rewards.
Flash, by design
Per-batch / per-day / lifetime quotas plus an expiry cron, by design.
Where it fits the loop
Referrals feed the same verified member graph everything else runs on.
A converted referral isn't a one-off bonus — it's a new owned, verified member and a new edge your retention loop can act on. Flash keeps the mechanics honest so the data downstream stays clean.
Verified relationships
Edges come only from conversions, so segments and insights built on the graph rest on real connections.
One member object
A referred member lands in the same unified record as store, Shopify, and receipt members — not a side list.
Automation-ready
Conversions flow into the same event-driven journeys as every other earn, ready to trigger the next best action.
What changes for the business
A growth channel powered by the customers you already have — measured by conversions, not clicks.
Converted-only
points credited when a referral truly joins, not when an invite is sent
Network view
a daily relationship graph of who recruits whom
Abuse-bounded
per-batch, per-day & lifetime quotas with expiry reclaim