arruah
VaultChat - local-first WhatsApp archive reconstruction tool built with Phoenix LiveView
VaultChat — local-first WhatsApp archive reconstruction with Phoenix LiveView + whisper.cpp
Hi everyone,
I want to share an early alpha project I’ve been building: VaultChat.
The problem
WhatsApp exports with many voice notes are hard to review. The text archive alone is incomplete — important statements often live inside audio messages. When you need to reconstruct what was said and when, manually listening through hundreds of voice notes is slow and error-prone.
What VaultChat does
It is a local-first archive reconstruction and review tool:
-
Import a WhatsApp export ZIP via browser upload
-
Parse
_chat.txtacross common timestamp variants -
Transcribe voice notes with
whisper.cpp— runs entirely locally -
Rebuild a merged chronological timeline of text + audio transcripts + media
-
Search, filter by sender/type/date, export as Markdown/JSON/CSV
The key design principle: everything runs on your machine. No account, no cloud, no data leaving your machine. docker compose up and open localhost.
Stack
-
Elixir / OTP
-
Phoenix + LiveView
-
SQLite via ecto_sqlite3
-
ffmpeg for audio decoding
-
whisper.cpp for local transcription
-
Docker Compose
Current state
Early alpha — the main end-to-end workflow is working on real archives.
Some things I found interesting to build in Elixir:
-
LiveView PubSub for real-time per-file processing progress
-
ETS GenServer for progress state that survives page remounts mid-processing
-
Multi-stage Docker build: whisper-cli compiled on Debian in Stage 0 and copied into the runtime image — avoids musl/glibc mismatch
-
SQLite batch inserts chunked to stay under the 32766 bind variable limit
-
String.replace_invalid/2to sanitize whisper output before Jason encoding
Known limitations
-
WhatsApp only for now (Telegram planned)
-
Docker-first — no one-click installer yet
-
Early alpha — rough edges in the UI
-
No LLM features yet (planned via ollama later)
Feedback I’d appreciate
-
Does the use case sound real and useful to you?
-
Does Phoenix LiveView feel like a good fit for this kind of local workflow tool?
-
Any thoughts on Docker-first as the packaging approach for an alpha?
-
What would make you actually try it?
Popular in Discussions
Other popular topics
Latest Phoenix Threads
Chat & Discussions>Discussions
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #hex









