Chat Analytics

0

Generate interactive, beautiful and insightful chat analysis reports

Analytics

chat
analytics
analysis
analyzer

Logo-Dark Logo-Light

Generate interactive, beautiful and insightful chat analysis reports

Open App β€’ View Demo β€’ Use CLI

GitHub Workflow Status codecov npm Docker

Donate


A web app that takes chat exports from supported platforms and generates a single HTML file containing information, statistics and interactive graphs about them. Privacy is its main concern; chat data never leaves the device when generating reports. Selfhost with Docker!

πŸ’¬ MESSAGESπŸ…°οΈ LANGUAGEπŸ˜ƒ EMOJIπŸ”— LINKSπŸ“ž CALLSπŸŒ€ INTERACTIONπŸ’™ SENTIMENTπŸ“… TIMELINE
chat analytics messages tabchat analytics language tabchat analytics emoji tabchat analytics links tabchat analytics calls tabchat analytics interaction tabchat analytics sentiment tabchat analytics timeline tab

You can interact with the demo here!

Chat platform support

You can generate reports from the following platforms:

PlatformFormats supportedText contentEdits & RepliesAttachment TypesReactionsProfile pictureMentionsCalls
Discordjson from DiscordChatExporterβœ…βœ…βœ…βœ…βœ… (until link expires)βœ… (as text)βœ…
Messengerjson from Facebook DYI exportβœ…βŒβœ…βŒβŒβœ… (as text)❌
Telegramjson from Telegram Desktopβœ…βœ…βœ…βŒ (not provided)βŒβœ… (as text)βœ…
WhatsApptxt or zip exported from a phoneβœ…βŒ (not provided)βœ…* (if exported from iOS)
🟦 (generic if exported from Android)
❌ (not provided)βŒβœ… (as text)❌

* not all languages are supported, check WhatsApp.ts.

You can't combine exports from different platforms.
The contribution of new platform parsers is always welcomed πŸ™‚

Privacy & Analytics

Since all chat data always stays in the browser, there is zero risk of someone reading your chats. Note that the report HTML file contains sensitive information (one may reconstruct message contents for every message), so share your reports with people you trust.

The site does not use cookies either and uses a self-hosted version of Plausible. All events do not contain PII and the information is segmented (e.g. 1MB-10MB, etc.). Since I want full transparency, you can check the site analytics here.

CLI

You can generate reports from the command line using npx chat-analytics:

Usage: chat-analytics -p <platform> -i <input files>

Options:
      --help      Show help                                            [boolean]
      --version   Show version number                                  [boolean]
  -p, --platform  The platform to generate for
   [string] [required] [choices: "discord", "messenger", "telegram", "whatsapp"]
  -i, --inputs    The input file(s) to use (glob)             [array] [required]
  -o, --output    The output HTML filename     [string] [default: "report.html"]
      --demo      Mark the report as a demo           [boolean] [default: false]

For example:

npx chat-analytics -p discord -i "exported/*.json" -o report.html

Docs & Development

You can read docs/README.md for technical details, and docs/DEV.md for development instructions.
In docs/TODO.md you can find ideas and pending stuff to be implemented.

Acknowledgements

  • FastText, a library by Facebook for efficient sentence classification. MIT licensed.
  • lid.176.ftz model, provided by FastText developers for language identification. Distributed under CC BY-SA 3.0.
  • multilang-sentiment, for the translated AFINN database. MIT licensed.
  • Emoji sentiment data from the work of Kralj Novak, Petra; SmailoviΔ‡, Jasmina; Sluban, Borut and Mozetič, Igor, 2015, Emoji Sentiment Ranking 1.0, Slovenian language resource repository CLARIN.SI, http://hdl.handle.net/11356/1048. Licensed with CC BY-SA 4.0.
  • stopwords-iso for a collection of stopwords in a variety of languages. MIT licensed.
  • All the libraries and tools that made this project possible πŸ˜€

License

AGPLv3. See LICENSE.