This project uses a dual deployment strategy to leverage the strengths of different hosting platforms:
- 🌐 Vercel: Static Vite build for fast global CDN delivery
- 🐍 Render: Full Python Flask application with real-time features
- Framework: Vite + Vanilla JavaScript
- Features: Mobile-first responsive UI, functional navigation, static demos
- Benefits: Fast loading, global CDN, excellent for showcasing design
- URL:
https://your-project.vercel.app
- Framework: Python Flask + SocketIO
- Features: Real-time chat, database integration, AI agents, GitHub MCP
- Benefits: Full backend functionality, WebSockets, database persistence
- URL:
https://your-project.onrender.com
- 📱 Demonstrating mobile-first responsive design
- ⚡ Fast static content delivery
- 🎨 UI/UX showcasing
- 📊 Static documentation and demos
- 🤖 Real-time AI agent interactions
- 💾 Database operations and persistence
- 🔗 GitHub MCP tool integration
- 📡 WebSocket communication
- 🔄 Live system monitoring
# Vercel automatically detects Vite and builds on push to main
git push origin main# Render detects Python and runs Flask app
# Configure Render to use: python enhanced_main_with_mcp.py/
├── 📄 index.html # Vite entry point (Vercel)
├── 🐍 enhanced_main_with_mcp.py # Flask app entry (Render)
├── ⚙️ vite.config.js # Vite build config
├── 📦 package.json # Node.js dependencies (Vite)
├── 🐍 requirements.txt # Python dependencies (Flask)
├── 🌐 vercel.json # Vercel deployment config
├── 📁 src/ # Vite JavaScript modules
├── 📁 dist/ # Vite build output
├── 📁 templates/ # Flask Jinja2 templates
└── 📁 api/ # Legacy API structure
{
"framework": "vite",
"buildCommand": "npm run build",
"outputDirectory": "dist"
}export default defineConfig({
build: {
outDir: 'dist',
rollupOptions: {
input: { main: './index.html' }
}
}
})# Uses enhanced_main_with_mcp.py as entry point
# Includes Supabase integration, SocketIO, GitHub MCP| Feature | Vercel (Static) | Render (Dynamic) |
|---|---|---|
| Mobile-First UI | ✅ | ✅ |
| Functional Navigation | ✅ | ✅ |
| Real-time Chat | 📱 Demo | ✅ Live |
| AI Agents | 📋 Static Info | 🤖 Interactive |
| GitHub MCP | 📚 Documentation | 🔗 Live Integration |
| Database | ❌ | ✅ Supabase |
| WebSockets | ❌ | ✅ SocketIO |
| System Monitoring | ❌ | ✅ Live Status |
- Version Sync: Keep both deployments in sync with the same codebase
- Cross-linking: Link between deployments for full feature access
- SEO: Use Vercel for better SEO and static content
- Functionality: Direct users to Render for interactive features
- Monitoring: Monitor both deployments for optimal performance
- Develop: Make changes to codebase
- Test Local: Test both Vite build and Flask app locally
- Commit: Push to GitHub main branch
- Auto Deploy: Both Vercel and Render deploy automatically
- Verify: Check both deployments work correctly
- Static Issues: Check Vite build logs on Vercel
- Dynamic Issues: Check Flask app logs on Render
- Design Issues: Test responsive design on both platforms
- Integration: Use Render deployment for full API access
This dual deployment architecture provides the best of both worlds: fast static delivery and full dynamic functionality.