Jomashop Universal Deep Link Server
Version, currently main branch1 version
- main branchlatestMay 8, 2026
github.com/jomashopio/universal-deeplink-server-jomashop
Universal Deep Links enables you to seamlessly deep link users from emails, SMS, push notifications, and in-app messages directly into the most relevant parts of your app.
Installation
# Add this to your shard.yml
dependencies:
Jomashop Universal Deep Link Server:
github: jomashopio/universal-deeplink-server-jomashop
branch: mainmain is a branch, not a release, so this tracks it rather than pinning a version.
Then run:
shards installshard.yml
- Crystal
1.19.2- Authors
- Fernando Valverde <https://github.com/fdocr>, Jomashop <https://www.jomashop.com>
- Target
udl-serverfrom src/server.cr
Dependencies
Runtime Dependencies
- kemal*github: kemalcr/kemal
- dotenv~> 0.5.0github: drum445/dotenv
- spec-kemal*github: kemalcr/spec-kemal
Development Dependencies
- ameba~> 1.5.0github: crystal-ameba/amebadev
README
Jomashop UDL Server
A simplified, production-ready fork of fdocr/udl-server — stripped down to a single-purpose path-passthrough redirect server for Jomashop mobile app deep linking.
How it works
Bounces traffic through a separate domain so iOS Universal Links and Android App Links trigger correctly — even when users are browsing inside webviews (Instagram, TikTok, etc).
flowchart TD
A["📱 User taps link in Instagram/TikTok\nudl.jomashop.com/rolex.html"] --> B{"OS checks AASA / assetlinks\non udl.jomashop.com"}
B -- "App installed" --> C["🟢 Jomashop App opens directly\nDeep links to /rolex.html"]
B -- "App not installed" --> D["⚡ UDL Server\nudl.jomashop.com"]
D -- "302 Redirect" --> E["🌐 www.jomashop.com/rolex.html"]
style A fill:#dbeafe,stroke:#2563eb
style B fill:#fef3c7,stroke:#d97706
style C fill:#d1fae5,stroke:#059669
style D fill:#fef3c7,stroke:#d97706
style E fill:#e5e7eb,stroke:#6b7280
Usage
All paths are forwarded to DEFAULT_DESTINATION:
https://udl.jomashop.com/→ redirects toDEFAULT_DESTINATIONhttps://udl.jomashop.com/watches/rolex→ redirects toDEFAULT_DESTINATION/watches/rolex
Smart App Store Link
/home detects the visitor's OS via user-agent and instantly redirects:
| Device | Destination |
|---|---|
| iPhone / iPad | App Store |
| Android | Google Play |
| Desktop / Other | jomashop.com/app/ |
The redirect fires in <script> before the page renders, so it's effectively instant. If JS is disabled or the redirect stalls, users see a polished fallback page with manual store buttons.
Use it as a single link in email campaigns, QR codes, social bios, etc:
https://udl.jomashop.com/home
Environment Variables
| Variable | Description | Example |
|---|---|---|
DEFAULT_DESTINATION | Target site for all redirects | https://www.jomashop.com |
PORT | Server port (default 3000) | 3000 |
Performance
Crystal + Kemal — microsecond response times.

Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This branch
- Branch
main- Seen
- May 8, 2026
- Crystal
1.19.2- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/jomashopio/universal-deeplink-server-jomashop
Metadata
- Created
- Aug 12, 2026
- Updated
- Sep 22, 2026
- Synced
- Sep 22, 2026
- Versions
- 1