npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

synkin

v0.3.1

Published

Instantly test local web apps on Android over USB. No firewall changes. No manual ADB.

Readme

Synkin — Test Localhost on Android over USB

Instantly preview your local web apps on Android — over USB.

npm License: MIT Platform

Install · Usage · Vist our Website · Report an issue


Synkin is a free open-source npm CLI that lets developers test localhost websites on Android over USB using ADB Reverse.

It automatically detects React, Vite, Next.js, Express, FastAPI, Flask, Django and HTML projects, forwards localhost ports, launches Chrome on Android and supports backend APIs without Wi-Fi or local IP configuration.

Synkin is a lightweight CLI that bridges your local development server to an Android device over USB using ADB. It automatically discovers your running dev server, forwards the required ports, and opens Chrome on your connected device.

No IP addresses. No firewall configuration. No Wi-Fi setup. Plug in your phone, run one command, and you're live on-device.

npm install -g synkin
synkin run

For a visual walkthrough, check out the website.


Contents


Features

| | | |---|---| | 🚀 One-command setup | Run a single command and the bridge configures itself. | | 🔌 USB-only connection | No Wi-Fi, no shared network, no exposed ports. | | 📱 Automatic Chrome launch | Opens your project on the device the moment it's ready. | | 🔍 Automatic project detection | Recognizes your framework by scanning the current directory. | | ⚡ Automatic port discovery | Finds the ports your servers are running on — nothing to specify. | | 🔄 Frontend + backend together | Bridges both at once, in a single run. | | 🌐 Works with localhost APIs | Backend requests are tunneled through ADB Reverse. | | 🧹 Cleans up on exit | Disconnect the cable or stop Synkin and everything unwinds automatically. | | 💻 Cross-project support | Use it in any project directory, no per-project config. |


Requirements

Verify ADB is installed:

adb version

Verify your device is recognized:

adb devices

Expected output:

List of devices attached
2201116PI    device

Installation

Install globally with npm:

npm install -g synkin

Verify the installation:

synkin --version

To update later:

npm update -g synkin

Usage

1. Start your frontend

npm run dev

2. Start your backend (optional)

npm run dev

3. Connect your Android phone via USB

4. Run Synkin

synkin run

Synkin will then:

  • Detect your Android device
  • Discover your running project
  • Detect frontend and backend ports
  • Configure ADB Reverse
  • Launch Chrome automatically
  • Open your project on the phone

Typical workflow

# Terminal 1
cd frontend
npm run dev
# Terminal 2
cd backend
npm run dev
# Terminal 3
synkin run

That's it — your project is live on-device.


Notes for Vite users

Your Vite server must be reachable through ADB Reverse. If it's only listening on 127.0.0.1, Android Chrome can't reach it through the bridge — enable server.host in vite.config.ts:

server: {
  host: true,
},

Troubleshooting

Device not detected

Check the connection:

adb devices

Make sure these are enabled on the device:

  • USB debugging
  • File transfer mode

Chrome doesn't open

Confirm Google Chrome is installed on the Android device.

Project not found

Run Synkin from inside your project folder:

cd my-project
synkin run

Backend requests fail

Make sure your backend server is running before starting Synkin.

if chrome say -site can't be reached

Make sure to check vite.config.js has this: server{ host: true },


Supported frameworks

| Frontend | Backend | Database | |---|---|---| | React | Express.js | MongoDB | | Vite | NestJS | PostgreSQL | | Next.js | FastAPI | MySQL | | Angular | Flask | SQLite | | Static HTML | Django | |

Database support means Synkin doesn't interfere with your backend's own connection — as long as your backend server is running, its database connection works exactly as it would locally.

More frameworks will be added in future releases.


Project detection

Synkin automatically detects supported projects by scanning the current directory — no configuration required.

React
Vite
Next.js
Angular
Express
NestJS
FastAPI
Flask
Django
HTML

Static HTML projects

Synkin also supports simple static sites. Serve your files however you like:

python -m http.server 5500
npx serve .

Then run:

synkin run

Summary

Synkin lets you access localhost on Android over USB.

Unlike Wi-Fi based solutions, Synkin uses ADB Reverse so backend APIs continue working without changing your application's base URL.

Contributing

Suggestions, and bug reports are welcome. If you find a bug or have an idea for an improvement, open an issue.

License

Released under the MIT License.


Made with ❤️ by Samarpan ~ owsam22