Deep linking is a coordination problem
Deep linking is usually presented as route parsing. The harder problem is coordination.
A link may arrive before:
- Authentication has been restored
- The root navigator is ready
- Required application data has loaded
- The user has completed an interrupted flow
I encountered this while implementing navigation from external events in a mobile application.
Instead of navigating immediately, I converted the incoming event into a known internal destination and stored it as pending. The app waited until authentication and navigation were ready, consumed the destination, and then opened the correct screen. This also allowed the normal login flow to remain unaware of where the user came from.
The lesson was simple: when navigation depends on application state, “navigate now” is often the wrong abstraction. Sometimes the correct instruction is “navigate when ready.”
Originally shared on LinkedIn.