The Problem Nobody Talks About
You're building a modern backend. Not one API. Several:
- Authentication service
- User management API
- Payment gateway
- Notification service
Microservices done right?
Then why does it feel so painful?
The Hidden Tax of Multiple Services
Day 1: Create first service (3 hours)
Day 3: Copy-paste for second service → already diverging
Week 2: 4 services with different structures
Month 2: New developer: "Which service is the reference?"
The real problems:
- 4 separate virtualenvs (600MB each = 2.4GB)
- Inconsistent structure across services
- Version conflicts (Pydantic v1 or v2?)
- 20-step onboarding guide
This is what workspaces solve.
What Is a Workspace?
A shared environment for multiple backend projects.
my-workspace/
├── .venv/ # Shared Python env
├── auth-service/ # FastAPI
├── user-api/ # FastAPI
├── payment-gateway/ # NestJS
└── notification-service/ # FastAPI
Create it:
npx rapidkit my-workspace
cd my-workspace
Add projects:
rapidkit create project fastapi.standard auth-service
rapidkit create project nestjs.standard payment-gateway
Benefits:
- One Python environment for all projects
- Consistent structure
- One CLI for everything
- Auto-tracked registry
Why This Matters: Real Numbers
Traditional Approach (4 services):
- Setup: 3 hours × 4 = 12 hours
- Disk: 600MB × 4 = 2.4GB
- Onboarding: 4-6 hours reading docs
Workspace Approach:
- Setup: 5 minutes (workspace) + 2 minutes × 4 = 13 minutes
- Disk: 150MB (shared) + 400MB (projects) = 550MB
- Onboarding: 2 minutes (clone +
./bootstrap.sh)
Workspace saves you: 77% time, 77% disk space
How It Works: The Magic of Shared Environments
Create workspace:
npx rapidkit my-workspace
cd my-workspace
Behind the scenes:
- Creates
.rapidkit-workspacemarker - Installs Poetry
- Creates shared
.venv/ - Installs
rapidkit-core(the Python engine) - Registers workspace in
~/.rapidkit/workspaces.json
Add projects:
rapidkit create project fastapi.standard api-one
rapidkit create project nestjs.standard api-two
Each project gets:
- Own
.venv/for project dependencies (~100MB) - Access to workspace's rapidkit-core
- Consistent structure
- Independent configs
Command routing:
# Inside workspace:
rapidkit --version
# ↳ Uses workspace .venv/bin/rapidkit
# Inside project:
rapidkit dev
# ↳ Launches project's FastAPI/NestJS server
# Outside workspace:
npx rapidkit dev
# ↳ Uses npm bridge
Three Ways to Start
1️⃣ Workspace (Recommended)
npx rapidkit my-workspace
cd my-workspace
rapidkit create project fastapi.standard api
Pros: Auto prerequisites, multi-project, disk efficient
Use when: 2+ projects, team development, production
2️⃣ Direct Project
npx rapidkit create project fastapi.standard api
cd api
npx rapidkit init
Pros: Fastest for single project
Use when: Quick prototype, learning
3️⃣ VS Code Extension
- Install extension
-
Ctrl+Shift+P→ "RapidKit: Create Workspace" - Visual project creation
Pros: GUI, visual discovery
Use when: New to RapidKit, team onboarding
💾 Export Your Workspace: Share & Backup
Export:
rapidkit workspace export
# or: Right-click workspace in VS Code → Export
Result: ZIP file (1-10MB) with:
- All projects + configs
- Poetry lockfile
- Smart exclusions (no
node_modules,.venv)
Import:
# Extract ZIP
./bootstrap.sh
# Done in 2 minutes
Use cases:
- Team onboarding: Share entire backend in one file
- Disaster recovery: Restore from backup
- Experimentation: Export before refactor
Traditional onboarding: 4+ hours
Workspace import: 2 minutes ✅
🩺 Workspace Health & Upgrades
Check health:
rapidkit doctor
Output:
✅ Python 3.11.5
✅ Poetry 1.7.0
✅ RapidKit Core v0.11.0
✅ 4 projects registered
⚠️ auth-service: missing dependencies
Check updates:
rapidkit check updates
VS Code shows orange "Upgrade Available" button when new version is released.
Real Example: SaaS Backend
Create workspace:
npx rapidkit saas-backend
cd saas-backend
Add services:
rapidkit create project fastapi.ddd auth-service
rapidkit create project nestjs.standard api-gateway
rapidkit create project fastapi.standard jobs-service
VS Code sidebar:
📁 SaaS Backend
├── 🐍 auth-service
├── 🟦 api-gateway
└── 🐍 jobs-service
One click to:
- Start any service
- Run tests
- Install modules
- Check health
Developer Experience Benefits
1. Instant Discoverability
git clone company/backend-workspace
cd backend-workspace
code .
New developer sees all services, identical structure, ready to run.
2. Consistent Commands
cd auth-service
rapidkit dev
cd ../api-gateway
rapidkit dev # Same command, different framework
3. Shared Updates
cd auth-service
rapidkit add module logging
cd ../api-gateway
rapidkit add module logging # Same version, instant
Workspace Strategies
1. Monolithic (all projects):
company-backend/
├── auth-service/
├── user-api/
├── payment-api/
└── 10 more services/
2. Domain-Separated (recommended):
company-auth/ # Workspace
├── auth-service/
└── user-api/
company-payments/ # Workspace
├── payment-api/
└── billing-service/
3. Hybrid:
core-platform/ # Workspace for core services
├── auth/
├── users/
└── payments/
tools/ # Standalone utilities
├── migration-script/
└── data-import/
When NOT to Use Workspaces
Use standalone when:
- Single quick prototype
- Learning RapidKit
- Unrelated projects
- Maximum control needed
Use workspace when:
- 2+ related projects
- Team development
- Production environments
- Consistent architecture matters
The Hidden Superpower: Team Onboarding
Traditional:
- Clone repos (4+)
- Read 10-page guide
- Install Python, Node, Docker, Poetry
- Create virtualenvs
- Configure .env files
- Fix dependency conflicts
- Debug for 2 hours
Time: 4-6 hours
Workspace:
- Download ZIP
- Extract
- Run
./bootstrap.sh
Time: 2 minutes
Everything works. No questions. No debugging.
This Changes How Teams Collaborate
Before workspaces:
- "Works on my machine"
- Week-long onboarding
- Inconsistent structures
- Version conflicts
With workspaces:
- Identical environments
- 2-minute onboarding
- Enforced consistency
- One source of truth
Try It Yourself
# Create workspace
npx rapidkit demo-workspace
cd demo-workspace
# Add two projects
rapidkit create project fastapi.standard api-one
rapidkit create project nestjs.standard api-two
# Open in VS Code
code .
Explore:
- Sidebar shows both projects
- Health check (pulse icon)
- Install modules visually
- See tracking in action
Comparison: Workspace vs Direct
| Feature | Workspace | Direct |
|---|---|---|
| Prerequisites | ✅ Auto | ⚠️ Manual |
| Multi-Project | ✅ Excellent | ❌ No |
| Disk Usage | ✅ Efficient | ⚠️ Wasteful |
| Setup Time | 🟢 Fast | 🟡 Slow |
| Team-Friendly | ✅ Yes | ⚠️ Moderate |
| Learning Curve | 🟢 Easy | 🟡 Medium |
Rule of thumb:
- 2+ related projects → Workspace
- Single prototype → Direct
- Not sure? → Workspace (you can ignore it)
What's Next?
Next article: "From Zero to Production API in 5 Minutes" — we build a real deployable API with timer running.
After that: New AI-focused tracks (support triage, provider failover, cost control).
Top comments (0)