Skip to content
@juggleim

JuggleIM

Open-source, self-hosted infrastructure for real-time messaging — IM server, multi-platform SDKs, and production-ready chat apps.
JuggleIM

Open-source infrastructure for real-time messaging

Build private chat, group messaging, live chatrooms, customer support,
social communities, and AI conversations—on infrastructure you control.

English · 简体中文

GitHub stars GitHub forks Apache 2.0 license Last commit

Website · Documentation · Quick Deploy · Discussions · Community


Own your messaging stack

JuggleIM is a high-performance, scalable instant messaging platform with an open-source Go server, multi-platform client SDKs, server APIs, WebHooks, admin tooling, and production-ready chat applications.

Choose a self-hosted private deployment for full control over data and infrastructure, or use the managed cloud to start quickly. The same platform supports everything from a two-person conversation to a 100,000-member group and large live chatrooms.

What you get
Self-hosted by design Deploy on your own servers or cloud; keep control of data storage and operations.
Every major client Android, iOS, Web, React Native, Flutter, HarmonyOS, and desktop building blocks.
Complete messaging Private chat, groups, chatrooms, system notifications, read state, multi-device sync, media, and custom messages.
Built for production Protobuf + WebSocket, horizontal scaling, REST APIs, WebHooks, moderation, push, and an admin console.
Ready to customize Start from JuggleChat's cross-platform source code instead of rebuilding common chat flows.

JuggleIM is a practical foundation for self-hosted chat, in-app messaging, social networks, marketplace messaging, customer service, community products, live-stream interaction, IoT messaging, and AI assistants.

JuggleChat cross-platform messaging interface

JuggleChat is the open-source, cross-platform application built on JuggleIM. Explore the product →

Start with the right project

Project Use it for Stack
im-server The open-source core: message delivery, storage, connections, groups, chatrooms, and server APIs Go
jugglechat-server A production-ready business server with accounts, friends, groups, auth, bots, and storage Go
JuggleChat clients Customizable Android, iOS, Web, and desktop chat applications Multi-platform
Client SDKs Add messaging to Android, iOS, Web, React Native, Flutter, and HarmonyOS apps Multi-platform
Server SDKs Call JuggleIM server APIs from Go, Java, or Python services Go / Java / Python
Bot SDKs Connect bots, automations, and AI assistants Go / Python / Node.js / Rust
Direct links to client SDKs and apps
Platform SDK Ready-to-customize app
Android imsdk-android jugglechat-android
iOS imsdk-ios jugglechat-ios
Web imsdk-web jugglechat-web
React Native imsdk-rn
Flutter imsdk-flutter
HarmonyOS imsdk-harmony
Desktop jugglechat-desktop

Get running

Pick the shortest path for your goal:

  1. Host your own IM service — follow the one-click deployment guide or explore im-server.
  2. Add chat to an existing product — choose a client SDK and connect it through the documented server APIs.
  3. Ship a complete messenger — use JuggleChat as a full-stack starting point and customize the clients for your product.

Explore the product overview, SDK documentation, and server API reference for integration details.

Built for real products

  • Social & communities: direct messages, friend relationships, large groups, mentions, reactions, and read receipts.
  • Marketplaces & support: buyer–seller conversations, service notifications, message history, and moderation hooks.
  • Live experiences: high-concurrency chatrooms for comments, likes, gifts, room state, and interactive events.
  • AI & automation: bot SDKs and connectors for assistants, workflows, and LLM-powered conversations.
  • Private enterprise apps: deploy inside your own environment and choose where conversation data is stored.

Join the community

Great open-source messaging infrastructure is built in the open. You can help by:

  • ⭐ Starring im-server so more developers can discover JuggleIM.
  • 💬 Asking questions and sharing ideas in GitHub Discussions.
  • 🐛 Reporting a bug or proposing a feature in GitHub Issues.
  • 🛠️ Improving code or documentation with a pull request.
  • 💬 Joining the Telegram Chinese community for integration help and discussion.
  • 🚀 Sharing what you built with JuggleIM—we would love to feature it.

If JuggleIM saves you time, give im-server a ⭐

Every Star helps other developers find an open, self-hosted alternative for real-time messaging.

Star JuggleIM on GitHub

Pinned Loading

  1. im-server im-server Public

    High-performance, scalable, self-hosted instant messaging server in Go — private chat, groups, chatrooms, WebSocket and REST APIs.

    Go 3.6k 363

  2. imsdk-web imsdk-web Public

    JuggleIM SDK for Web — private chat, groups, chatrooms, media messages, read receipts, multi-device sync, and extensible message types.

    JavaScript 6 5

  3. imsdk-android imsdk-android Public

    JuggleIM SDK for Android — private chat, groups, chatrooms, media messages, read receipts, multi-device sync, and push notifications.

    Java 67 3

  4. imsdk-ios imsdk-ios Public

    JuggleIM SDK for iOS — private chat, groups, chatrooms, media messages, read receipts, multi-device sync, and push notifications.

    C++ 25 2

  5. jugglechat-server jugglechat-server Public

    Production-ready, self-hosted IM business server in Go — accounts, friends, groups, auth, bots, storage, and cross-platform chat clients.

    Go 55 3

  6. jugglechat-web jugglechat-web Public

    Open-source JuggleChat web client built on JuggleIM — private chat, groups, media messages, read receipts, and customizable UI.

    JavaScript 7 3

Repositories

Showing 10 of 33 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…