Tech stack
The frameworks and services used across each layer.
Web app
- Next.js (App Router), React, TypeScript
- Tailwind CSS + a custom component system from the MeetOye design files
- LiveKit React SDK
- Zustand and TanStack Query
Backend API
- NestJS + TypeScript
- PostgreSQL with Prisma
- Redis + BullMQ for queues
- WebSocket gateway for real-time signalling
Backend modules:
AuthModule WorkspaceModule MeetingModule ParticipantModule PermissionModule LiveKitTokenModule ChatModule TranscriptModule TranslationModule OyaModule RecordingModule NotificationModule EmailModule AuditLogModule BillingModule (later)
Media layer
- WebRTC via a self-hosted LiveKit SFU
- coturn TURN/STUN server
- Audio, video, screen share, adaptive video and data channels
Oya AI layer
- Python FastAPI, separate from the media server and API
- faster-whisper for STT, Silero/WebRTC VAD for voice activity
- NLLB / SeamlessM4T / MarianMT for translation
- A local or switchable LLM for summaries, with Redis queues
Storage & desktop
- MinIO or S3-compatible storage, transcript-first model
- Tauri v2 desktop shell sharing the React/Next.js meeting UI
- Deep links such as meetoye://join/{meetingCode}