Skip to main content

Welcome to Neuron Meet

Neuron Meet is a powerful, open-source video conferencing platform that brings high-quality real-time communication to your applications. Built on modern web technologies, it delivers a seamless experience for both developers and end-users.

Quickstart

Get your local development environment up and running in minutes

Features

Explore the comprehensive feature set including HD video, screen sharing, and more

API reference

Complete API documentation for integrating Neuron Meet

Deployment

Deploy to production with our step-by-step guides

What is Neuron Meet?

Neuron Meet is a full-stack video conferencing solution that provides everything you need to build real-time communication features into your applications. Whether you’re building a team collaboration tool, online classroom, or telemedicine platform, Neuron Meet gives you the foundation to get started quickly.
Neuron Meet uses WebRTC for peer-to-peer connections, ensuring low latency and high-quality audio/video streams.

Key features

Neuron Meet comes packed with features designed for modern video conferencing:
  • HD video and audio calls - Crystal-clear communication with adaptive bitrate streaming
  • Screen sharing - Share your screen with participants for presentations and collaboration
  • Real-time chat - In-meeting text chat with typing indicators and message history
  • Host controls - Comprehensive meeting management including mute participants, lock rooms, and remove users
  • Guest access - Allow participants to join without creating an account
  • Mobile responsive - Fully responsive design that works seamlessly on mobile devices
  • Hand raise - Non-verbal participation with hand raise feature
  • Room locking - Secure meetings by preventing new participants from joining
  • Participant management - Real-time participant list with status indicators

Tech stack

Neuron Meet is built with a modern, production-ready technology stack:

Frontend

React 18

Latest React with hooks and concurrent features

TypeScript

Full type safety across the entire codebase

Tailwind CSS

Utility-first CSS framework for rapid UI development

Zustand

Lightweight state management for React
Additional frontend tools:
  • Vite - Lightning-fast build tool and dev server
  • React Router - Client-side routing with nested routes
  • TanStack Query - Powerful data fetching and caching
  • Socket.io Client - Real-time WebSocket communication
  • Lucide React - Beautiful, consistent icons

Backend

NestJS

Progressive Node.js framework with TypeScript support

Socket.io

Real-time bidirectional event-based communication

Prisma

Next-generation ORM with type-safe database access

PostgreSQL

Robust, production-ready relational database
Additional backend tools:
  • JWT Authentication - Secure token-based authentication
  • Bcrypt - Password hashing and security
  • Class Validator - DTO validation with decorators
  • Passport.js - Authentication middleware

Architecture overview

Neuron Meet follows a clean architecture pattern with clear separation of concerns:
neuron-meet/
├── client/          # React frontend application
│   ├── src/
│   │   ├── components/  # Reusable UI components
│   │   ├── hooks/       # Custom React hooks (useWebRTC, etc.)
│   │   ├── pages/       # Route-based page components
│   │   ├── store/       # Zustand state management
│   │   └── lib/         # Utilities and helpers
│   └── package.json
├── server/          # NestJS backend application
│   ├── src/
│   │   ├── auth/        # Authentication module
│   │   ├── rooms/       # Room management module
│   │   ├── signaling/   # WebRTC signaling gateway
│   │   ├── chat/        # Chat functionality
│   │   └── prisma/      # Database service
│   ├── prisma/
│   │   └── schema.prisma  # Database schema
│   └── package.json
└── package.json     # Root workspace configuration

WebRTC signaling

Neuron Meet implements a robust WebRTC signaling server using Socket.io. The signaling gateway (server/src/signaling/signaling.gateway.ts:30) handles:
  • Room management - Join, leave, and room state synchronization
  • Peer negotiation - SDP offer/answer exchange for WebRTC connections
  • ICE candidates - Network connectivity information exchange
  • Media controls - Audio/video toggle, screen sharing start/stop
  • Host controls - Mute participants, remove users, lock rooms
@SubscribeMessage('join-room')
async handleJoinRoom(
  @ConnectedSocket() client: Socket,
  @MessageBody() data: JoinRoomPayload,
) {
  const { roomCode, userId, displayName } = data;
  
  // Validate and join room
  const roomData = await this.signalingService.joinRoom(
    client.id,
    roomCode,
    userId,
    displayName,
  );
  
  // Join socket room
  client.join(roomData.roomId);
  
  // Notify other participants
  client.to(roomData.roomId).emit('user-joined', {
    participant: {
      socketId: client.id,
      userId,
      displayName,
      isHost: roomData.isHost,
    },
  });
  
  return { success: true, roomId: roomData.roomId };
}

Database schema

Neuron Meet uses Prisma with PostgreSQL for data persistence. The schema (server/prisma/schema.prisma:1) includes:
  • User - Authentication and profile information
  • Room - Meeting rooms with host and settings
  • RoomSettings - Configurable meeting permissions and limits
  • Participant - Join records for users and guests
  • Message - Chat messages with support for text, system, and file types
Make sure to set up your PostgreSQL database and run migrations before starting the application. See the Quickstart guide for details.

Authentication flow

The platform supports both authenticated users and guest participants:
  1. Registered users - Full authentication with JWT tokens (server/src/auth/auth.controller.ts:1)
    • Register with email and password
    • Login to receive access token
    • Access protected routes and create rooms
  2. Guest users - Join meetings without an account
    • Provide display name at pre-join screen
    • Limited to joining existing rooms
    • No persistent profile or meeting history

Getting started

Ready to get started? Head over to the Quickstart guide to set up your local development environment and run your first meeting.

Next: Quickstart

Install dependencies, configure your environment, and launch Neuron Meet in under 5 minutes

Build docs developers (and LLMs) love