Code anywhere. Even on a $20 phone. Lập trình mọi nơi. Ngay trên chiếc điện thoại 500 nghìn.
VibeShell is a mobile-first terminal multiplexer — like tmux, but designed for old Android phones. It brings session persistence, split panes, touch-optimized input, and AI-assisted coding to devices that modern dev tools have left behind. Built as a PWA + WebSocket + PTY server, it runs smoothly on a Realme Q (~$20 secondhand in 2026, Snapdragon 712, 4GB RAM).
Modern development tools assume you have a laptop or desktop. But millions of aspiring developers — especially students in Southeast Asia — only have a budget Android smartphone. They can install Termux and get a shell, but they can't get:
- Session persistence — switch to another app without losing your terminal state
- Multiplexing — split panes, multiple windows, tmux-like workflow
- AI assistance — contextual code suggestions from the terminal
- Smooth performance — 60fps scrolling on a 6-year-old phone
VibeShell is built from the ground up for these constraints. Every architectural decision — Canvas rendering, binary WebSocket, server-side sessions — exists because the target device demands it.
| Feature | Free | Cloud | Pro | Edu |
|---|---|---|---|---|
| Core terminal (xterm.js + Canvas) | ✓ | ✓ | ✓ | ✓ |
| Split panes, touch gestures, floating toolbar | ✓ | ✓ | ✓ | ✓ |
| Session persistence + auto-reconnect | ✓ | ✓ | ✓ | ✓ |
| PWA with offline load | ✓ | ✓ | ✓ | ✓ |
| Self-host on VPS / Termux | ✓ | — | — | — |
| Managed cloud session | — | ✓ | ✓ | ✓ |
| AI coding assistance (Claude API) | — | ✓ | ✓ | ✓ |
| Dedicated container | — | — | ✓ | — |
| Team sessions | — | — | ✓ | — |
.edu.vn enrollment |
— | — | — | ✓ |
See the full feature matrix in docs/spec/tier-features.md.
git clone https://github.com/vibeshell/vibeshell.git
cd vibeshell
npm install
cp .env.example .env # Edit with your settings
npm start # Server starts on port 3000Open http://<your-server-ip>:3000 on your phone's browser.
- Navigate to your VibeShell server URL in Chrome on Android
- Tap the browser menu (⋮)
- Tap "Add to Home Screen"
- VibeShell now launches like a native app
For detailed setup (including Termux on-device), see docs/runbook/self-hosting.md.
┌──────────────────────────────┐
│ Android Device (PWA) │
│ ┌────────┐ ┌──────────────┐ │
│ │ Touch │ │ xterm.js │ │
│ │ Input │ │ Canvas │ │
│ └───┬────┘ └──────┬───────┘ │
└──────┼─────────────┼─────────┘
│ Binary WebSocket │
│ (zlib compressed) │
▼ ▲
┌──────┼─────────────┼─────────┘
│ Server │
│ ┌─────────┐ ┌─────────────┐ │
│ │ Session │ │ PTY │ │
│ │ Manager │ │ (node-pty) │ │
│ │ (SQLite)│ └─────────────┘ │
│ └─────────┘ │
│ ┌─────────────────────────┐ │
│ │ AI Proxy (Claude API) │ │
│ └─────────────────────────┘ │
└──────────────────────────────┘
Full architecture: docs/architecture/overview.md
| Version | Phase | Key Milestone |
|---|---|---|
| v0.1.0 | PoC | Core terminal, WebSocket, PTY, reconnect |
| v0.1.x | PoC upgrades | PWA, touch input, gestures, panes |
| v0.2.0 | Prototype | Auth, Cloud free trial launch |
| v0.2.x | Prototype upgrades | AI layer, pricing survey |
| v0.3.0 | MVP | Cloud paid launch, billing |
| v0.3.5 | Pro closed beta | Dedicated containers, team sessions |
| v0.4.0 | Pro public launch | Product Hunt launch |
| v0.4.7 | Edu closed beta | Pilot universities in Vietnam |
| v0.5.0 | Edu public launch | National .edu.vn rollout |
Full roadmap: docs/spec/release-roadmap.md
These are hard requirements, verified on the Realme Q (Snapdragon 712, 4GB RAM):
| Metric | Target |
|---|---|
| Terminal input latency | ≤ 80ms p99 |
| Terminal scroll | 60fps |
| PWA bundle size | < 150KB gzipped |
| Device RAM footprint | < 200MB |
We welcome contributions! VibeShell's core is MIT-licensed and open to the community.
TBD: Detailed contribution guidelines — pending creation of CONTRIBUTING.md planned for the v0.1.0 release.
Before contributing, please note:
- Follow existing code style and conventions
- Include tests for new features
- Keep the bundle size budget in mind (< 150KB gzipped)
VibeShell uses an open-core dual license model:
- Core (Free tier): MIT License
- Cloud / Pro / Edu tiers: VibeShell Commercial License
TBD: Commercial license text — pending legal review, expected to be finalized by v0.2.0.
The MIT-licensed core includes the terminal renderer, WebSocket client, PTY server, session persistence, and all touch input features. The commercial license covers managed infrastructure, AI proxy, billing, team features, and Edu enrollment.