Railway

Deploy midee - Virtual Piano

A lag-free MIDI visualizer and recorder that runs in-browser

Deploy midee - Virtual Piano

Just deployed

Deploy and Host midee on Railway

midee is a free, open-source, browser-native MIDI studio for visualizing, practicing, recording, and exporting MIDI performances. Built with Vite and TypeScript, it combines real-time MIDI playback, Web MIDI controller support, WebCodecs video export, and a customizable piano visualizer—all running entirely in the browser without uploads or backend services.

About Hosting midee

Hosting midee on Railway provides a fast, globally accessible platform for serving the application's static web assets over HTTPS. Railway automatically builds the project from the included repository and deploys it without requiring server management.

Because midee is a fully client-side application, all MIDI playback, recording, rendering, and MP4 export happen directly within the user's browser. No uploaded files, backend APIs, databases, or persistent storage are required. Railway simply hosts the compiled static application while providing automatic HTTPS, deployment previews, custom domains, and scalable infrastructure. This makes Railway an ideal deployment target for midee's privacy-first, local-only architecture.

Common Use Cases

  • Browser-based MIDI visualization and piano playback
  • Music practice and interactive song learning
  • Recording live MIDI performances and exporting MP4 videos

Dependencies for midee Hosting

DependencyRequiredPurpose
Node.js 18+YesBuild environment
Modern browser with Web MIDI & WebCodecsYesRuntime features for playback, recording, and MP4 export

Deployment Dependencies

ResourceLink
Official Repositoryhttps://github.com/aayushdutt/midee
Live Demohttps://midee.app
Tone.jshttps://tonejs.github.io/
PixiJShttps://pixijs.com/
Mediabunnyhttps://mediabunny.dev/

Implementation Details

Docker

No Docker image or Dockerfile is documented for this project.

Railway will build the application directly from the repository using the detected Node.js environment.

Public Networking

SettingValue
Proxy TypeHTTP Proxy
Target PortNot documented (static web application)

After deployment, generate a public Railway domain from Settings → Networking → Generate Domain.

Environment Variables

No environment variables are documented or required.

VariableRequiredDescription
NoneNo runtime configuration is required.

Persistent Storage

Persistent storage is not required.

All MIDI files, recordings, loop data, and exported videos are processed locally within the user's browser.

Database

No database service is required.

midee does not depend on PostgreSQL, MySQL, MongoDB, Redis, or any other backend database.

Build & Start

The repository documents the following build process:

npm install
npm run build

This generates the production static bundle in:

dist/

If deploying as a static application on Railway, configure the service to serve the generated dist/ directory. No additional backend services are required.

Accessing the Application

After deployment:

  1. Open your Railway service.
  2. Navigate to Settings → Networking.
  3. Generate a Railway domain.
  4. Open the generated HTTPS URL.

Users can immediately drag and drop a .mid file into the application or connect a compatible Web MIDI controller. No account, login, or administrator setup is required.

Why Deploy midee on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying midee on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


Template Content

More templates in this category

View Template
Rocky Linux
[Jul'26] Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
30
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
51