A modern, serverless edge deployment platform. Connect a repo, and we'll detect the framework, build it, optimize assets, and serve them globally on the edge.
Multivrs is a Vercel-class deployment platform designed for high-performance edge computing. It provides first-class support for Next.js as well as our own swift-rust framework.
- Global Edge Network: Deploy your code to a global edge network powered by Cloudflare Workers.
- Smart Framework Detection: Automatically detects your framework, package manager, and monorepo setup.
- Advanced Asset Optimization: Lossless and perceptually lossless asset optimization running at build-time (images, fonts, video, minification) using Rust.
- Instant Rollbacks: Every deploy is immutable. Rollbacks are instant alias pointer flips, with no rebuilds required.
- Built-in Services:
- Free custom domains with automatic DNS/TLS configuration.
- Analytics and speed insights.
- Edge logging and observability.
- Platform firewall and bot protection.
- Email routing and forwarding out of the box.
Multivrs is cleanly separated into three core planes:
| Plane | Purpose | Technology |
|---|---|---|
| Control Plane | System of record for users, teams, projects, deploys, and domains (Metadata) | Neon (Postgres) via Prisma |
| Real-time Layer | Live projection for dashboard updates (deploy status, notifications) | Convex |
| Artifact Storage | Immutable, content-addressed storage for build outputs | Cloudflare R2 |
| Compute Engine | Executes SSR, functions, and binaries per request | Cloudflare Workers / Fly.io |
For a deep dive into the architecture, asset optimization pipeline, and pricing engine, check out ARCHITECTURE.md.
Multivrs is a monorepo managed with Bun and Turborepo.
multivrs/
├── apps/
│ ├── build-worker/ # Compiles and optimizes user projects
│ ├── compute-worker/ # Runs edge compute workloads
│ ├── mail-smtp/ # Outbound SMTP service
│ ├── mail-worker/ # Mail delivery worker queue
│ ├── serve-worker/ # Serves apps, sites, and static assets
│ └── web/ # The main Multivrs Dashboard (Next.js)
├── packages/
│ ├── backend/ # Convex real-time layer
│ ├── builder-*/ # Builders for Next.js, swift-rust, etc.
│ ├── cli/ # Single-binary deploy CLI (Rust)
│ ├── config/ # Shared multivrs.json schema and types
│ ├── fs-detectors/ # Framework/repo detectors
│ ├── routing-utils/ # Routing rules and matcher
│ └── ... # Additional shared utilities
Ensure you have the following installed:
- Bun (v1.3.5 or latest)
- Rust & Cargo (for CLI and Rust-based builders)
- Node.js (v18+)
-
Clone the repository:
git clone https://github.com/your-org/multivrs.git cd multivrs -
Install dependencies: We strictly use
bunfor package management.bun install
-
Environment Setup: Copy the example environment files and fill in your keys (Neon DB, Convex, Resend, Stripe, Sanity, etc.).
cp .env.example .env # Ensure you also configure apps/web/.env and packages/backend/.env.local
You can spin up the entire stack using Turbo:
# Start the Next.js Dashboard
bun dev:web
# Start the Convex real-time backend
bun dev:convex
# Or run the entire suite
bun devMultivrs uses Prisma with Neon Postgres. To manage your database schemas:
cd apps/web
bunx prisma generate
bunx prisma db push # or migrate devWe follow a strict language strategy:
- TypeScript: The default for the dashboard (
web), API, configuration, client, and routing. - Rust: Used for CPU-bound tasks like the CLI,
builder-core(hashing, asset optimization), and swift-rust render core. - Go: Handles the network data plane, proxying, TLS, and log ingestion.
- Bun: Our monorepo package manager, test runner, and local development runtime.
This project is proprietary and confidential. All rights reserved.