The Most Overkill Messaging App in the World.
Mikoto is an messaging platform designed for building online communities. It uses a thread-based structure for text messaging, voice/video chat, and real-time collaborative wiki editing.
Note: Mikoto is still in early development. Some of these features are not fully implemented.
- ✨ Open Source (with proprietary extensions for enterprise support)
- ⚡️ Superuser friendly features, like tab view, zen mode and, keyboard shortcuts and more
- 📡 Voice, video, and screen sharing
- 📝 Real-time collaborative wiki channels
- 🧵 Next-generation thread management
- 🏡 Threaded DMs and group DMs
- 🎨 Customizable themes and appearances
and upcoming features:
- 🪐 DID-based usernames
- 🔒 E2E encrypted DMs and Group DMs
- 🔍 Semantic search across all channels
- 🔌 Pluggable architecture for custom extensions
- 🛒 A marketplace for extensions and integrations
- 🌎 Built-in community finder
- 🥸 A system to handle multiple personas and identities
Prerequisites:
- Docker
- Rust 1.81+
- Node.js 22+
- sqlx CLI (
cargo install sqlx-cli --no-default-features --features rustls,postgres) - Moonrepo
# use corepack
corepack enable
# install dependencies
pnpm install
# Copy .env.example to .env and set the variables
cp ./apps/superego/.env.example ./apps/superego/.env
# migrate database (run in superego directory)
sqlx database create && sqlx migrate run
# start services (PostgreSQL, Redis, MinIO, etc.)
docker-compose upMikoto uses a Moon-based monorepo.
To develop apps and packages, run the following command:
docker compose up -d # Run auxiliary services
moon :start --query "tag~core-app" # superego, content-proxy and clientTo build all apps and packages, run the following command:
pnpm buildAll Mikoto services use ports in the 351X or 351XX range to avoid conflicts with other common services:
| Service | Port | Description |
|---|---|---|
| Client | 3510 | Web client |
| Superego | 3511 | API server |
| Collab | 3512 | Collaboration service |
| MediaServer | 3513 | Media handling service |
| Service | Ports | Description |
|---|---|---|
| PostgreSQL | 35101 | Database |
| Redis | 35102 | Cache & pub/sub |
| MinIO (S3) | 35103, 35104 | Object storage |
| LiveKit | 35105, 35106, 35107 | Real-time audio/video |
| MailHog | 35108, 35109 | Development mail server |
| Meilisearch | 35110 | Search engine |
While we're still an early-stage project and the licensing may change in the future, Mikoto is currently dual licensed under AGPL core and a proprietary license. Please email cactus (at) mikoto.io if you are interested in enterprise uses for Mikoto.

