Deploy midee - Virtual Piano
A lag-free MIDI visualizer and recorder that runs in-browser
midee
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
| Dependency | Required | Purpose |
|---|---|---|
| Node.js 18+ | Yes | Build environment |
| Modern browser with Web MIDI & WebCodecs | Yes | Runtime features for playback, recording, and MP4 export |
Deployment Dependencies
| Resource | Link |
|---|---|
| Official Repository | https://github.com/aayushdutt/midee |
| Live Demo | https://midee.app |
| Tone.js | https://tonejs.github.io/ |
| PixiJS | https://pixijs.com/ |
| Mediabunny | https://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
| Setting | Value |
|---|---|
| Proxy Type | HTTP Proxy |
| Target Port | Not 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.
| Variable | Required | Description |
|---|---|---|
| None | — | No 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:
- Open your Railway service.
- Navigate to Settings → Networking.
- Generate a Railway domain.
- 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
midee
bilalnawaz072/midee