Most chat analysis tools ask you to upload private conversation archives to a remote server.
Even if the site claims "we delete logs immediately," handing unencrypted personal chats to an unfamiliar API is a major privacy compromise.
I built PurpleChats to solve this with one rule: zero backend.
Every calculation—from unzipping .zip exports to generating interactive Spotify Wrapped-style cards—runs strictly in the user's browser.
What It Does
- 🎁 WhatsApp Wrapped Mode: 3D interactive story cards showing chat streaks, late-night chatter, and response time percentiles.
- 📊 Group Dynamics: Response latency rankings, conversation starter badges, and interactive interaction graphs.
- 🔒 100% Client-Side Privacy: No databases, no telemetry, and zero network calls. When you close the tab, the data is gone.
How It Works Under the Hood
Parsing tens of thousands of messages on the main browser thread causes frame drops.
To keep the UI running at a clean 60fps:
-
In-Memory Unzipping: Uses
fflateto unpack.ziparchives directly into RAM without saving temporary files. - Web Workers: All regex matching, date normalization, and metric calculations run in a background worker. A 30,000-message chat processes in under 180ms.
-
Canvas Card Export: Uses
html-to-imageto let users export shareable metric cards as PNGs directly from the DOM.
Tech Stack
- Framework: React 18 + TypeScript + Vite
- Styling: Tailwind CSS (editorial warm-paper design)
-
Processing: Web Workers +
fflate - Hosting: Cloudflare Pages (free static CDN)
Try It Out
- 🌐 Live App: https://purplechats.pages.dev
- 💻 GitHub: https://github.com/Rahmman001/PurpleChats
The project is fully open source under the MIT license. Feedback and contributions are welcome!
Top comments (0)