Jonathan D.A. Jewell <jonathan@hyperpolymath.org> :toc: auto :toclevels: 3 :icons: font :source-highlighter: rouge :experimental:
Extract, parse, and export chat histories from multiple messaging platforms into unified formats.
Important | Repository project specification - implementation pending. This repository contains infrastructure and planning materials. Core application code will be uploaded shortly. |
Universal Chat Extractor provides a unified tool for extracting chat data from various messaging platforms, normalizing it into a common schema, and exporting to multiple formats - all while respecting user privacy through local-only processing.
WhatsApp (
.txtexport)Telegram (JSON export)
Discord (JSON export)
Signal (backup format)
iMessage (SQLite database)
Facebook Messenger (JSON export)
Slack (JSON export)
Per the Hyperpolymath Language Policy:
| Layer | Technology |
|---|---|
Primary application code | ReScript (compiles to JS) |
Runtime | Deno (not Node/npm/Bun) |
Performance-critical components | Rust / WASM |
Package management | Guix (primary), Nix (fallback), Deno imports |
Note | Implementation pending. This section will be updated when core functionality is available. |
The system follows a plugin-based parser architecture:
┌─────────────────────────────────────────────────────────┐
│ CLI Interface │
├─────────────────────────────────────────────────────────┤
│ Parser Registry │
├──────────┬──────────┬──────────┬──────────┬────────────┤
│ WhatsApp │ Telegram │ Discord │ Signal │ ... │
│ Parser │ Parser │ Parser │ Parser │ │
├──────────┴──────────┴──────────┴──────────┴────────────┤
│ Unified Message Schema │
├─────────────────────────────────────────────────────────┤
│ Export Engine │
├──────────┬──────────┬──────────┬──────────┬────────────┤
│ JSON │ CSV │ HTML │ Markdown │ PDF │
└──────────┴──────────┴──────────┴──────────┴────────────┘Local-only processing - no cloud uploads, no telemetry
Secure memory handling - sensitive data cleared after use
PII detection - optional anonymization mode
Encrypted exports - password-protected output files
No MD5/SHA1 - SHA256+ for all cryptographic operations
This project is licensed under the Mozilla Public License, v. 2.0. See the LICENSE file for details.
SPDX-License-Identifier: CC-BY-SA-4.0
See ROADMAP.adoc for detailed development phases and milestones.
Contributions welcome. Please ensure:
Code follows the language policy (no TypeScript, no Node.js, no Go)
All commits include SPDX license headers
Dependencies are SHA-pinned
See TOPOLOGY.md for a visual architecture map and completion dashboard.