-
🔐 Access + Refresh token-based security
-
🧑 User management (Sign up / Login)
-
📅 Paid and unpaid meeting scheduling
-
💳 Payments and purchase tracking
-
⚡ Fast Vite-based React frontend
-
📦 Express + Prisma backend with PostgreSQL
Frontend
- React (Vite)
- Tailwind CSS
- Shadcn/UI
- Framer Motion
Backend
- Node.js
- Express.js
- Prisma ORM
Database
- PostgreSQL
Authentication
- OTP based login (Resend)
- Google OAuth 2.0 (Passport)
SDK Used
- GetStream
Meeting audio is captured with Stream individual recording while Stream generates a speaker-attributed transcript. The verified Stream webhook stores a durable PostgreSQL job, and a separate worker normalizes the transcript, generates the summary, and updates the RAG index.
After configuring the backend environment from backend/.env.example, run:
cd backend
npx prisma migrate deploy
npm run buildRun the API and worker as separate processes:
npm start
npm run workerConfigure Stream to send video webhooks to https://<backend-host>/api/webhooks/stream and enable transcription for the default call type.

