explaingit

countly/countly-server

5,858JavaScriptAudience · pm founderComplexity · 3/5LicenseSetup · moderate

TLDR

Countly is a self-hostable product analytics platform that tracks sessions, events, crashes, and push notifications across mobile, web, and desktop apps, giving teams full ownership of their user behavior data.

Mindmap

mindmap
  root((Countly))
    Analytics
      Session tracking
      Event tracking
      Custom reports
      Screen views
    Privacy
      Self-hosted option
      Consent module
      Data deletion
    Crash Reporting
      iOS crashes
      Android crashes
      Error logs
    Push Notifications
      iOS push
      Android push
      Remote config
    Infrastructure
      Node.js backend
      MongoDB storage
      Plugin architecture
      Docker support
    Editions
      Lite open source
      Enterprise tier
      Flex cloud
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Track user sessions, screen views, and custom events across mobile and web apps on your own server to stay GDPR-compliant.

USE CASE 2

Monitor app crashes and errors in real time for iOS and Android without sending data to a third-party service.

USE CASE 3

Use remote configuration to change app behavior or run A/B experiments without releasing a new app version.

USE CASE 4

Collect user consent and handle data deletion requests through the built-in compliance module.

Tech stack

Node.jsMongoDBJavaScriptDockeriOS SDKAndroid SDK

Getting it running

Difficulty · moderate Time to first run · 1h+

Single-command install on Ubuntu/CentOS or via Docker. Requires a server with Node.js and MongoDB. Cloud (Flex) option available if you prefer not to self-host.

The Lite edition is open source but free for non-commercial use only. Enterprise and Flex editions are commercial products with separate licensing.

In plain English

Countly is an analytics platform that helps product teams understand how people use their apps. It collects data on user sessions, button taps, screen views, errors, and crashes, then displays everything in a dashboard with charts and custom reports. It works across mobile apps on iOS and Android, web apps, and desktop applications. According to the README, it currently processes data for around 1.5 billion unique identities across more than 16,000 applications. One of the main reasons teams choose Countly over services like Google Analytics is that it can run entirely on your own server. You retain complete ownership of the collected data, which matters for organizations that need to comply with privacy regulations or prefer not to share user data with a third party. Installation on Ubuntu or CentOS runs from a single command, and the project also offers Docker support. A hosted cloud version is available for teams that prefer not to manage infrastructure themselves. The platform comes in three tiers. The Lite edition is open source and free for non-commercial use, covering the basics of session and event tracking. The Enterprise edition adds more detailed data, priority support, and a service-level agreement. The Flex edition is a fully managed cloud offering aimed at smaller teams that want enterprise-level features without running their own servers. Beyond basic analytics, the server handles crash reporting, push notifications for iOS and Android, remote configuration (changing how an app behaves without releasing a new version), and in-app rating prompts. There is also a compliance module for collecting user consent and managing data deletion requests. The system is built on Node.js and MongoDB, and it uses a plugin architecture so developers can add custom features or modify existing ones without touching the core code. Countly is a reasonable fit for founders, PMs, or developers who want detailed user behavior data but need to keep that data on their own infrastructure.

Copy-paste prompts

Prompt 1
I'm self-hosting Countly on Ubuntu. Walk me through pointing my iOS Swift app at my own Countly server and verifying that sessions appear in the dashboard.
Prompt 2
Show me how to define and send a custom event in Countly's JavaScript web SDK, including setting segmentation properties so I can filter by them in reports.
Prompt 3
I want to use Countly's remote configuration feature to roll out a feature flag without a new release. Explain the server-side setup and the client SDK call I need.
Prompt 4
Help me write a Countly plugin skeleton in Node.js that listens for a custom server-side event and writes enriched data to a new MongoDB collection.
Prompt 5
Explain how to configure Countly's consent module so users can opt in or out of analytics tracking, and how to trigger a data deletion request via the API.
Open on GitHub → Explain another repo

← countly on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.