Skip to content

A zero-dependency JavaScript library that converts standard HTTP URLs (YouTube, LinkedIn) into Native Mobile Deep Links (Custom Schemes & Android Intents).

License

Notifications You must be signed in to change notification settings

mdsaban/universal-app-opener

Repository files navigation

Universal App Opener

A JavaScript library that converts standard HTTP URLs (YouTube, LinkedIn) into Native Mobile Deep Links (Custom Schemes & Android Intents).

⚠️ Development Status

This package is currently in active development and may not work as expected. Use at your own risk. Breaking changes may occur in future versions.

Installation

📦 View on npm

npm install universal-app-opener
pnpm add universal-app-opener
yarn add universal-app-opener

Quick Start

import { openLink } from "universal-app-opener";

openLink("https://www.youtube.com/watch?v=dQw4w9WgXcQ");

That's it! The library automatically detects your platform and opens the appropriate app or web URL.

Demo

Try it out: Live Demo

Platform Support

✅ Implemented

  • YouTube - Videos (youtube.com/watch, youtu.be)
  • LinkedIn - Profiles (linkedin.com/in/*)

🚧 Coming Soon

  • Instagram - Posts, profiles, reels
  • Twitter/X - Tweets, profiles
  • Facebook - Posts, profiles, pages
  • TikTok - Videos, profiles
  • Spotify - Songs, albums, playlists, artists
  • WhatsApp - Chat links, group invites

Documentation

For detailed usage, API reference, and examples, see the package documentation.

Goal

The goal of this project is to provide a lightweight, zero-dependency library that can detect platform-specific deep links from common web URLs. This enables web applications to seamlessly redirect users to native mobile apps when available, improving user experience across platforms.

Local Setup

Prerequisites

  • Node.js >= 22.0.0
  • PNPM >= 9.0.0

Installation

  1. Clone the repository:
git clone <repository-url>
cd universal-app-opener
  1. Install dependencies:
pnpm install
  1. Start development:
pnpm dev

This will start:

  • The core library in watch mode
  • The demo app at http://localhost:5173

Build

To build all packages:

pnpm build

Contributing

Contributions are currently closed as we're setting up the project infrastructure. A detailed contribution guide will be available in the coming days.

If you're interested in joining the beta phase, you can join our private Discord community: Discord Invite

About

A zero-dependency JavaScript library that converts standard HTTP URLs (YouTube, LinkedIn) into Native Mobile Deep Links (Custom Schemes & Android Intents).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published