Choose Your Backend
Decide between Convex (TypeScript-first) or Supabase (PostgreSQL) for your VibeFast project.
During vf init, you'll choose between two fully-integrated backends. Both provide the same features with one exception.
Quick Decision Matrix
| Criteria | Convex | Supabase |
|---|---|---|
| Query style | TypeScript functions | SQL queries |
| Real-time | Built-in, reactive | Manual subscriptions |
| Auth | Convex Auth | Supabase Auth |
| Storage | Convex Storage | Supabase Storage |
| AI features | ✅ All + RAG | ✅ All (RAG not included) |
| Self-hosting | ✅ Available | ✅ Available |
| Learning curve | TypeScript-native | SQL knowledge helpful |
Feature Parity
All VibeFast features work with both backends:
- ✅ Authentication (Email, Google, Apple, GitHub, Guest)
- ✅ AI Chatbot with streaming responses
- ✅ Image Generator & Analyzer
- ✅ Voice Bot & Voice Notes
- ✅ Payments & Subscriptions (RevenueCat)
- ✅ Charts & Dashboards
- ✅ Quick Actions
- ✅ Tracker App
RAG (Knowledge Retrieval) is currently available only with Convex via
@convex-dev/agent. The Supabase chatbot includes all other AI features.
Setting Up Your Backend
Can I switch later?
The backend choice affects your packages/backend/ folder structure. Switching requires migrating your data and rewriting backend functions. We recommend picking the backend that matches your team's skills and sticking with it.
Not sure? Start with Convex if you prefer TypeScript everywhere and want reactive queries. Start with Supabase if you're comfortable with SQL.
Found an issue or bug in the docs?
Help me improve! If you spot any errors, typos, or have suggestions, please let me know.
Reach out on X/Twitter @zafarbuildzz