deployment
Use when deploying applications, choosing deployment platforms, or troubleshooting deployment issues - routes to platform-specific skills (Vercel, Fly.io, Cloudflare)
When & Why to Use This Skill
The Deployment Router skill is an intelligent orchestration tool designed to streamline the application deployment lifecycle. It assists developers in selecting the most suitable cloud platforms—such as Vercel, Fly.io, or Cloudflare—based on their specific technology stack and workload requirements. By providing architectural patterns, troubleshooting guides, and direct routing to specialized deployment skills, it minimizes configuration errors and optimizes infrastructure performance for Next.js apps, Python backends, and edge-computing solutions.
Use Cases
- Platform Selection: Determining whether to use Vercel for Next.js frontends, Fly.io for stateful Docker containers, or Cloudflare for edge-first serverless functions.
- Architectural Guidance: Designing multi-platform stacks, such as routing a React frontend to Vercel while hosting a FastAPI backend with persistent SQLite volumes on Fly.io.
- Troubleshooting & Debugging: Resolving deployment-specific issues like Docker build failures, Vercel environment variable mismatches, or Cloudflare R2 upload errors.
- Cost & Performance Optimization: Comparing free tiers and platform strengths to ensure global low-latency and cost-effective scaling for web applications.
| name | deployment |
|---|---|
| description | Use when deploying applications, choosing deployment platforms, or troubleshooting deployment issues - routes to platform-specific skills (Vercel, Fly.io, Cloudflare) |
Deployment Router
Quick guide to choose the right deployment platform and skill for your workload.
Platform Decision Matrix
| Workload | Platform | Skill |
|---|---|---|
| Next.js / React frontend | Vercel | vercel-deployment |
| Static sites, SPAs | Vercel or Cloudflare Pages | vercel-deployment |
| FastAPI / Python backend | Fly.io | fly-deployment |
| Stateful backend (SQLite, volumes) | Fly.io | fly-deployment |
| Docker containers | Fly.io | fly-deployment |
| Object storage / CDN | Cloudflare R2 | cloudflare-r2-d1 |
| Edge database (SQLite) | Cloudflare D1 | cloudflare-r2-d1 |
| Session/config caching | Cloudflare KV | cloudflare-r2-d1 |
| Serverless functions | Cloudflare Workers | cloudflare-r2-d1 |
Quick Reference by Stack
Full-Stack Next.js + Python API
Frontend (Next.js) → Vercel → vercel-deployment
Backend (FastAPI) → Fly.io → fly-deployment
File uploads → Cloudflare R2 or Fly volume
Edge-First Stack (Cloudflare)
Frontend (static/SPA) → Cloudflare Pages
API (Workers) → Cloudflare Workers → cloudflare-r2-d1
Database → Cloudflare D1 → cloudflare-r2-d1
Files → Cloudflare R2 → cloudflare-r2-d1
Monorepo Pattern
apps/web (Next.js) → Vercel → vercel-deployment
apps/api (FastAPI) → Fly.io → fly-deployment
Platform Strengths
Vercel
- Zero-config Next.js deployment
- Preview deployments per PR
- Edge functions & middleware
- Automatic HTTPS & CDN
Best for: Next.js, React, static sites
Fly.io
- Run any Docker container
- Persistent volumes (SQLite, file storage)
- Multiple regions with data locality
- WebSocket support
Best for: Python backends, stateful apps, containers
Cloudflare
- Edge-first (runs in 300+ cities)
- No cold starts (Workers)
- Integrated storage (R2, D1, KV)
- Zero egress fees on R2
Best for: Low-latency APIs, edge computing, global scale
Common Deployment Patterns
Pattern 1: Vercel + Fly.io
User → Vercel (frontend) → Fly.io (API) → SQLite (volume)
Deploy commands:
# Frontend
vercel --prod
# Backend
fly deploy
Pattern 2: Full Cloudflare
User → Pages (frontend) → Workers (API) → D1 (database) + R2 (files)
Deploy command:
wrangler deploy
Pattern 3: Hybrid (Vercel + Cloudflare Storage)
User → Vercel (Next.js) → Cloudflare R2 (uploads) + external DB
Troubleshooting Quick Links
| Issue | Check Skill |
|---|---|
| Vercel deployment issues | vercel-deployment |
| Docker build fails | fly-deployment |
| Volume mount error | fly-deployment |
| D1 query timeout | cloudflare-r2-d1 |
| R2 upload fails | cloudflare-r2-d1 |
Cost Comparison (Free Tiers)
| Platform | Free Tier Highlights |
|---|---|
| Vercel | 100GB bandwidth, serverless functions, preview deploys |
| Fly.io | 3 VMs (256MB), 3GB storage, 160GB bandwidth |
| Cloudflare | 100K Worker requests/day, 10GB R2, 5GB D1 |
When to Use Each Skill
Use vercel-deployment when:
- Deploying Next.js or React apps
- Configuring vercel.json
- Setting environment variables
- Troubleshooting build errors
Use fly-deployment when:
- Writing Dockerfiles for Fly.io
- Configuring fly.toml
- Setting up volumes or persistent storage
- Deploying Python/FastAPI backends
Use cloudflare-r2-d1 when:
- Storing files in R2
- Working with D1 SQLite database
- Caching with KV
- Writing Cloudflare Workers