Architecture
Convex
Backend functions, real-time database, auth, and media storage actions. Deployed with
bun run deploy:convex.Vercel
The React/Vite SPA built as a static site and served via Vercel’s CDN.
Discord bot
An always-on Node.js worker hosted on your own server or Hostinger. Lives in a separate repository and is managed independently.
Production-first philosophy
Every script in this project enforces thatVITE_CONVEX_URL points to the production Convex deployment before running. The bun run check:prod-target script is automatically prepended to every build, serve, and deploy command — it will fail fast if the environment is misconfigured.
This means there is no concept of a “staging” Convex target in normal development. You always work against production.
Script reference
| Command | Description |
|---|---|
bun run build | Production Vite build |
bun run serve | Serve production bundle on port 4173 |
bun run deploy:convex | Deploy Convex functions to production |
bun run check:prod-target | Verify VITE_CONVEX_URL is the production Convex URL |
bun run serve automatically kills any process already listening on port 4173 before starting.Next steps
- Deploy to Convex — set up and deploy your backend
- Deploy to Vercel — deploy and configure the frontend