Architecture Overview
JARVIS uses a distributed deployment architecture optimized for hackathon development and production scalability.Deployment Strategy
Frontend Deployment
Platform: VercelRepository: Connect your Git repository
Build Command:
npm run buildOutput Directory:
.next
Vercel provides:
- Automatic deployments on git push
- Preview deployments for pull requests
- Edge network CDN
- Zero-config Next.js optimization
Backend Deployment
Platform: Daytona SandboxesRuntime: Python 3.11
Framework: FastAPI + Uvicorn Daytona provides:
- Isolated browser sessions for agents
- Persistent workspace environments
- Built-in proxy for external access
- Resource isolation per sandbox
Service Dependencies
| Service | Purpose | Deployment |
|---|---|---|
| Convex | Real-time database | Managed cloud |
| MongoDB Atlas | Persistent storage | Managed cloud |
| Exa API | Fast research | External API |
| Browser Use | Agent automation | Cloud sessions |
| Gemini API | Vision + synthesis | Google Cloud |
| OpenAI API | Vision models | OpenAI Cloud |
| Laminar | Observability | Managed cloud |
Deployment Checklist
Configure Environment Variables
Set up all required environment variables in both frontend and backend environments.
See Environment Variables for complete list.
Deploy Backend
Deploy the Python backend to Daytona sandboxes with Docker.
See Backend Deployment for detailed steps.
Deploy Frontend
Deploy the Next.js frontend to Vercel.
See Frontend Deployment for detailed steps.
Resource Requirements
Backend (Daytona Sandbox)
- CPU: 2-4 cores recommended
- RAM: 4GB minimum, 8GB recommended
- Storage: 10GB for browser cache and temporary files
- Network: High bandwidth for browser automation
Frontend (Vercel)
- Build Time: ~2-3 minutes
- Cold Start: Less than 100ms (serverless functions)
- Edge Functions: Deployed globally
Monitoring & Observability
The platform includes comprehensive observability through Laminar:- Agent Tracing: Every Browser Use agent run is traced
- LLM Calls: All Gemini/OpenAI calls logged with inputs/outputs
- Performance Metrics: Response times, error rates, success rates
- Debug Dashboard: Real-time view of active agents and pipelines
Security Considerations
API Key Management
- Store all API keys as environment variables
- Rotate credentials regularly
- Use separate keys for development and production
- Monitor API usage for anomalies
Network Security
- Backend is isolated in Daytona sandboxes
- Frontend communicates via HTTPS only
- CORS configured for allowed origins
- Rate limiting on API endpoints
Scaling Considerations
Horizontal Scaling
- Frontend: Automatically scaled by Vercel
- Backend: Deploy multiple Daytona sandboxes behind load balancer
- Database: Convex and MongoDB Atlas handle scaling automatically
Performance Optimization
- Pre-warm browser sessions for faster agent startup
- Cache common profile templates
- Use connection pooling for MongoDB
- Implement request queuing for rate-limited APIs
Cost Estimation
| Component | Free Tier | Paid Tier |
|---|---|---|
| Vercel | Unlimited hobby projects | $20/mo Pro |
| Daytona | $100 hackathon credits | Pay-as-you-go |
| Convex | Generous free tier | Usage-based |
| MongoDB Atlas | 512MB free | $9/mo+ |
| Browser Use | $100 hackathon credits | Usage-based |
| Gemini API | $20 credits | Pay-per-token |
| Laminar | $150 hackathon credits | Usage-based |
Next Steps
Backend Setup
Deploy the FastAPI backend to Daytona
Frontend Setup
Deploy the Next.js frontend to Vercel
Environment Vars
Configure all required environment variables