SwarIT is a real-time AI assistant platform powered by LiveKit, a Next.js frontend, a Node.js API backend, and a Python agent worker.
It combines:
- Real-time voice/video communication using LiveKit
- AI assistant orchestration in Python
- Data/API services in Express + MongoDB
- A modern web interface built with Next.js
Frontend (Next.js)
|
| HTTP
v
Frontend_backend (Node.js + Express + MongoDB)
|
| LiveKit room + events
v
Backend (Python LiveKit Agent)
|
| Realtime media + LLM tools
v
LiveKit Server (Docker)
- Node.js 18+
- pnpm 9+
- Python 3.10+
- Docker
- MongoDB connection string
docker run -p 7880:7880 -e LIVEKIT_KEYS="API4v8FGffQDLrQ: Blf455qdcFnEXHxbN3TkzSSTQSVNGJeVm96nJO9ovsr" livekit/livekit-server:latestcd Frontend
pnpm install
pnpm run devcd Frontend_backend
npm install
node server.jscd Backend
python -m venv venv
.\venv\Scripts\Activate
pip install -r requirements.txt
python agent.py devMONGO_URI=<your-mongodb-connection-string>
PORT=5000LIVEKIT_URL=<your-livekit-url>
LIVEKIT_API_KEY=<your-livekit-api-key>
LIVEKIT_API_SECRET=<your-livekit-api-secret>SwarIT/
|- Frontend/ # Next.js UI
|- Frontend_backend/ # Express API + MongoDB routes
|- Backend/ # Python LiveKit AI agent
|- Dashboard/
|- Dashboard_backend/
|- ML/
Start services in this order for the smoothest experience:
- LiveKit Docker container
- Frontend (Next.js)
- Frontend_backend (Node API)
- Backend (Python agent)
- Folder name is
Frontend_backend(lowercaseb). - Use separate terminals for each running service.
- If port
7880is already in use, stop the conflicting process or change the mapping.