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 PMPL-1.0-or-later.
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