explaingit

rhyssullivan/meshnet

14JavaScriptAudience · developerComplexity · 3/5Setup · moderate

TLDR

Developer tool that lets you run multiple dev servers at localhost:3000 simultaneously by routing each project to its own cloud VM, eliminating port conflicts between projects.

Mindmap

mindmap
  root((meshnet))
    What it does
      Multiple dev servers
      All at localhost 3000
      No port conflicts
    Tech stack
      Electron desktop app
      Vercel Sandbox VMs
      JavaScript
    How it works
      Cloud VM per project
      OS level proxy routing
      Separate browser views
    Requirements
      Vercel account
      Vercel CLI
      Token refreshes every 12h
    Audience
      Multi project developers
      Frontend developers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run multiple frontend projects at once, each accessible at localhost:3000, without changing port numbers

USE CASE 2

Test several microservices locally as if they all run on the default port

USE CASE 3

Quickly switch between client projects that all expect localhost:3000 without reconfiguring anything

Tech stack

JavaScriptElectronNode.jsVercel Sandbox

Getting it running

Difficulty · moderate Time to first run · 30min

Requires a Vercel account and the Vercel CLI, the auth token expires every 12 hours and must be refreshed manually.

In plain English

Meshnet is a proof-of-concept developer tool that lets you run many separate development servers at the same time, each one appearing at the familiar address localhost:3000 on your own machine, without any port conflicts or subdomain juggling. The problem it solves is a common annoyance for developers who work on multiple projects simultaneously: normally you can only have one thing running at localhost:3000, and everything else has to use different port numbers. The trick behind it is a combination of two pieces of technology. Each conversation or project in the app spins up its own temporary virtual machine in the cloud using Vercel Sandbox, which runs your development server in isolation. The desktop application is built with Electron, which is a framework for wrapping web technology into a native desktop app. Inside Electron, each project gets its own sandboxed browser view with its own separate cookie storage and network session. The app then intercepts network traffic at the operating system level and routes each view's requests to the right cloud virtual machine, so every view honestly thinks it is talking to localhost:3000. For developers opening the project in a regular web browser instead of through the Electron app, there is also a standard HTTP server running on port 3000 that uses cookies to figure out which project to show. The codebase is small and organized across a handful of files: the main Electron process handles the proxy routing and the picker server, a preload script bridges the browser and desktop layers, the renderer files handle the visible interface with a chat sidebar and browser panes, and a separate module manages the lifecycle of the cloud virtual machines. This is described as a proof of concept, so it is exploratory rather than a polished product. It requires a Vercel account and the Vercel CLI to function, and the authentication token it uses expires roughly every 12 hours.

Copy-paste prompts

Prompt 1
Set up meshnet for my two frontend projects so both appear at localhost:3000, walk me through creating each project entry and launching the Electron app
Prompt 2
Explain how meshnet routes network traffic at the OS level so each Electron browser view reaches its own Vercel Sandbox VM at localhost:3000
Prompt 3
My meshnet authentication token expired after 12 hours, show me the exact steps to refresh it without losing my project setup
Prompt 4
I want to add a third project to meshnet, what file or setting do I update and how does the proxy register the new Vercel Sandbox?
Open on GitHub → Explain another repo

← rhyssullivan on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.