Skip to Content
Rendez-vous.ai Dashboard 1.1.0 is released 🎉
Tech Stack

Tech Stack

Rendez-vous.ai leverages a modern, robust technology stack designed for real-time audio processing, scalable microservices, and rapid frontend development. Below is a breakdown of the core technologies used across the different repositories.

🖥️ Frontend & CMS (rdv.ai-dashboard & rdv.ai-widget)

  • Next.js (App Router): Powers the main dashboard application, handling routing, server-side rendering, and React Server Components.
  • Payload CMS: A headless Node.js CMS seamlessly integrated into the Next.js app. It dynamically generates the GraphQL schema and manages the PostgreSQL database, acting as the backbone for our entities (Users, Agents, Calls, Chats).
  • React: The core UI library used for both the complex dashboard interfaces and the embeddable web widget.
  • Vite: The build tool used for the rdv.ai-widget. It compiles the React widget into a highly optimized, standalone .iife.js script that can be embedded anywhere.
  • Tailwind CSS: Used extensively across the dashboard for rapid, utility-first UI styling.

⚙️ Backend & API (rdv.ai-API)

  • Node.js & Express: The foundation of our Core API. It handles incoming webhooks, audio stream buffering, and LLM orchestration.
  • GraphQL & GenQL: Since Payload CMS exposes a GraphQL API, the Core API uses GenQL (a type-safe GraphQL query builder) to fetch and mutate data in the CMS database.
  • TypeScript: Used universally across all repositories to ensure type safety and developer productivity.
  • External SDKs: Integrations with Nylas (Calendars), HubSpot (CRM), Telegram, and specialized client APIs (e.g., Texapoker).

📞 Telephony & Audio (rdv.ai-FreeSWITCH)

  • FreeSWITCH: A highly scalable open-source telephony platform acting as our VoIP PBX. It bridges the SIP trunks with our Core API using media bugs and event sockets.
  • SIP Trunking: Twilio and VoIP.ms are used to provide the actual phone numbers and route the PSTN (Public Switched Telephone Network) calls into our FreeSWITCH instance via SIP.
  • RTP Audio Streaming: Real-time Transport Protocol is used to stream audio byte-by-byte between FreeSWITCH and the Core API for LLM consumption.

🧠 AI & Orchestration

  • Google Gemini & OpenAI: We use state-of-the-art LLMs to power the conversational logic. The system is designed to route requests to specific models depending on the agent’s configuration and required toolset.
  • Function Calling (Tools): Extensive use of LLM function calling to allow agents to execute real-world actions (e.g., suggestEventSlots, BookingRequestTool, searchTournaments).

☁️ Infrastructure & DevOps (k8s & .github)

  • Kubernetes (K8s): The orchestrator for our staging and production environments. We use Kustomize for environment overlays (beta, stable).
  • Docker: Every service (Dashboard, API, FreeSWITCH, Widget builder) is containerized.
  • PostgreSQL: The primary relational database, managed via Payload CMS and deployed as a StatefulSet in K8s.
  • S3-Compatible Storage (MinIO/AWS S3): Used for storing persistent media files, such as audio recordings from FreeSWITCH and user uploads.
  • GitHub Actions: Handles our CI/CD pipelines, automating Docker image builds and pushing deployments to the Kubernetes clusters.
Last updated on