A conversation should not need setup
Getting friends together for a call usually means creating a server, laying out channels and handing out roles. Here you create a room and send a link.
Chatovo is an open project: the code, the media server and the database live on your own machines, not in someone else's cloud.
The project began as an attempt to strip the ceremony out of talking to people.
Getting friends together for a call usually means creating a server, laying out channels and handing out roles. Here you create a room and send a link.
The media server, the database and the uploaded files are all yours to deploy. No third-party analytics, no external storage for attachments.
The source, the release history and the discussions live on GitHub. You can read how any part works and build your own copy.
A Bun workspaces monorepo: client, server, desktop shell and shared schemas in one place.
Next.js 16 and React 19, exported statically. Structured with Feature-Sliced Design, styled with SCSS modules.
Tauri 2: the same web app inside a native Rust shell for Windows, macOS, Linux and Android.
NestJS 11 on Bun with Prisma over a self-hosted Postgres. Authentication runs on better-auth.
A self-hosted LiveKit SFU for WebRTC. Room access is granted by a token the server signs.
Zod schemas in the @chatovo/schemas package are the single source of truth for client and server types.
TypeScript throughout, Vitest and Playwright for tests, builds and releases through GitHub Actions.
Thanks to everyone whose code made it into the project.
The project is open to changes, from a typo in a string to a whole new settings section.
Fork the repository, branch off master and open a pull request. The code style and structure are documented in the repo.
Found a bug or have an idea? Open an issue. Reproduction steps and the app version make it far quicker to work through.
The repository ships Caddy and LiveKit configuration so you can stand up a full instance of your own.