Skip to main content
Case study

Asynchor launches link.asynchor.com smart links inside Expo

Asynchor (@asynchor) needed universal links, deferred deep linking, and consistent invite routing without running its own link infrastructure. This case study outlines the exact setup used to roll out LinkMe in an Expo-managed app and keep routing predictable across installs.

App architecture

Expo-managed React Native app with Firebase services and Expo Router.

Linking goal

Reliable universal links for onboarding, team invites, and campaign tracking.

Scope

Native config, runtime SDK setup, routing safeguards, and verification flows.

Asynchor in action

A quick look at the Asynchor app screens where universal links and deferred deep links land.

Asynchor reports overview with weekly highlights
Weekly reports overview
Asynchor team report detail view for a selected week
Team report detail
Asynchor journals list with search and tab filters
Searchable journals
Asynchor member activity feed with quick actions
Connected teamwork

Two high-impact use cases

The integration focuses on attribution-ready onboarding links and frictionless team invites.

UTM-powered onboarding links

Asynchor shares link.asynchor.com URLs across launch campaigns, with UTM tags that feed the LinkMe payload. Each marketing link lands on the public site, where the primary CTA uses a second LinkMe link to preserve attribution. Deferred linking keeps UTMs intact through the App Store pasteboard and the Play Store install referrer.

Team invites & sharing

Invite flows call the backend service to generate LinkMe URLs with team metadata. This keeps routing consistent across iOS and Android while allowing the server to issue unique invites on demand.

Implementation highlights

The team focused on a minimal, repeatable integration that could be lifted into future releases.

  1. 1.Installed the LinkMe React Native SDK in the Expo app and aligned versions with releases.
  2. 2.Configured the Expo plugin with link.asynchor.com hosts, associated domains, and app scheme.
  3. 3.Passed EXPO_PUBLIC_* keys into runtime extras for secure SDK initialization.
  4. 4.Initialized LinkMe once in the root layout with strict-mode guards and web skips.
  5. 5.Handled initial links, live listener payloads, and deferred claims with one router helper.
  6. 6.Added a router catch-all so unknown universal links still land in the app shell.
  7. 7.Tracked open events and optionally mapped UTM fields into Firebase attribution params.
  8. 8.Verified flows with Maestro deep-link tests for cold, warm, and install-referrer cases.

Link resolution flow

The diagram captures how Asynchor handles universal links, deferred installs, and analytics handoff.

Predictable routing

Universal links, deferred deep links, and in-app routes resolve consistently.

Faster QA loops

One checklist covers configuration, routing, and deferred install verification.

Reusable playbook

The integration notes now act as the LinkMe template for future releases.

Ready to replicate the rollout?

Follow the same setup to ship li-nk.me smart links in your own Expo app, with consistent routing and analytics context from the first tap.