ChatVault

Browse WhatsApp archives offline like a real chat app.

ChatVault is an offline Android and web app for importing WhatsApp Export Chat files and reading them in a clean, WhatsApp-like interface. It helps people search, filter, review, and preserve chat history from ZIP or TXT exports without sending any data to the cloud. The product is built for users who need private, fast access to personal, work, or family conversation archives on any device.

Business Goals

  • Reach 10,000 monthly active users within 6 months of launch.
  • Achieve a 35% import-to-first-read activation rate within the first session.
  • Maintain a 4.5+ average app store rating after 1,000 reviews.
  • Reduce import failure rate below 3% across supported export formats within 90 days.
  • Drive 25% of active users to create at least one exported archive backup within 3 months.

User Goals

  • Import WhatsApp ZIP or TXT exports without needing internet.
  • Read chats in a familiar bubble-based interface that feels like WhatsApp.
  • Search messages by keyword, sender, and date in seconds.
  • Open photos, videos, audio, and documents from the archive in one place.
  • Keep multiple archives organized, bookmarked, and easy to revisit.

Non-Goals

  • Not a messaging app for sending or receiving live WhatsApp messages.
  • Not a cloud-sync or collaboration product.
  • Not a forensic evidence platform with legal-chain-of-custody workflows.
  • Not a general-purpose file manager for all phone backups.

Personal Archivist Dina, 34 - Dina exports chats from her old phone to keep memories, receipts, and family messages. She wants a private way to search old conversations without uploading them anywhere.

Personal Archivist Dina, 34

  • As a personal archivist, I want to import a WhatsApp ZIP export and read it immediately, so that I can revisit old conversations offline.
  • As a personal archivist, I want to search by a relative's name or a date range, so that I can find important messages quickly.
  • As a personal archivist, I want to bookmark meaningful messages, so that I can return to them later.

Ops Manager Rizky, 41 - Rizky uses WhatsApp groups for work coordination and needs to retrieve decisions, images, and documents from archived group chats. He needs fast filtering and reliable export options.

Ops Manager Rizky, 41

  • As an operations manager, I want to load multiple chat archives into one library, so that I can compare related conversations.
  • As an operations manager, I want to filter by sender and media type, so that I can find a specific file or decision faster.
  • As an operations manager, I want to export a cleaned archive to CSV or HTML, so that I can review or share summaries internally.

Student Leo, 22 - Leo stores project group chats and media from semesters of collaboration. He wants a simple, lightweight app that works on his laptop and Android phone.

Student Leo, 22

  • As a student, I want a desktop web view and an Android app with the same archive library, so that I can use whichever device is available.
  • As a student, I want timeline navigation by year and month, so that I can jump to a project period quickly.
  • As a student, I want duplicate messages detected when merging exports, so that my archive stays clean.

Import and Parsing · High priority

  • Support offline import of WhatsApp Export Chat ZIP and TXT files, then parse conversation structure into searchable records.
  • Accept .zip and .txt files from local storage, Android document picker, or drag-and-drop on web.
  • Extract message date, time, sender, body text, media references, and system messages from common WhatsApp export formats.
  • Detect locale-specific date formats and 12/24-hour time patterns with fallback parsing rules.
  • Preserve original raw file metadata and never modify the source archive.
  • Show import progress, parsing errors, and a preview before finalizing storage.

Media and Document Handling · High priority

  • Extract and manage photos, videos, audio, and documents from imported archives for offline viewing.
  • Save media locally in an app-owned filesystem with references back to the source message.
  • Generate thumbnails for images and video previews while keeping originals untouched.
  • Open PDF and common document formats in an in-app viewer or system viewer when supported.
  • Play audio inline with scrubber, duration, and playback state persistence.
  • Handle missing or broken media references gracefully with a clear placeholder and recovery message.

Search, Filter, and Timeline · High priority

  • Provide fast retrieval across large archives using indexed search and structured navigation.
  • Search by message text, sender name, archive name, and date range.
  • Filter results by media type, starred messages, sender, and group/private chat.
  • Provide timeline navigation by year, month, and day with jump-to-section behavior.
  • Use SQLite indexes for full-text and metadata queries to keep search responsive on large archives.
  • Support no-result states with suggested refinements.

Archive Library and Organization · Medium priority

  • Let users manage multiple archives, merge backups, and keep them organized over time.
  • Show a library of imported archives with source name, import date, message count, and media count.
  • Support archive merge with duplicate detection based on sender, timestamp, message body, and media hash when available.
  • Allow renaming archives and assigning custom labels or colors.
  • Enable bookmark management across archives.
  • Support archive deletion with confirmation and local data wipe of derived records and media.

Export, Insights, and Personalization · Medium priority

  • Support re-exporting cleaned data and customizing the reading experience for accessibility and comfort.
  • Export selected chats or archives to TXT, HTML, CSV, JSON, and ZIP.
  • Display conversation statistics such as message volume over time, top senders, and media distribution.
  • Support dark mode, light mode, and adjustable text size.
  • Persist user preferences locally across sessions.
  • Keep analytics optional and privacy-preserving, limited to in-app usage events only.

First-Time Import Flow

  • Open the app on Android or web and land on an empty library screen.
  • Tap Import Archive or drag a ZIP/TXT file into the window.
  • Select a WhatsApp export from local storage and confirm the source file.
  • Review a parsing preview showing chat name, message count, and media found.
  • Finish import and open the conversation in under 2 minutes for a typical export under 500 MB.
  • If parsing fails, see a specific error explaining the unsupported format and how to retry.

1. Library Home

  • Users see all imported archives in one place with quick actions for open, search, merge, export, and delete.
  • Show archive cards with chat name, last import time, message count, and media count.
  • Support empty state with one clear primary action to import an archive.
  • Handle loading and partial import states with visible progress and retry.

2. Import and Parse

  • The app reads the source file locally, extracts media, parses messages, and stores normalized records in SQLite.
  • Validate file type before import and reject unsupported or corrupted files with a clear reason.
  • Parse incrementally so large ZIP files do not block the UI.
  • Keep raw source untouched and store a reproducible import manifest for each archive.

3. Chat Reader

  • Users browse a conversation in a WhatsApp-like chat bubble layout with sender grouping and media cards.
  • Render incoming and outgoing bubbles with timestamps, day separators, and sender labels where needed.
  • Support long chats with pagination and virtual scrolling to maintain performance.
  • Display malformed messages as raw text in a safe fallback format rather than dropping them.

4. Search and Filter

  • Users can search across one archive or all archives, then narrow by sender, date, and media type.
  • Return highlighted snippets and jump-to-message results.
  • Apply filters without refreshing the whole app.
  • Show an active-filter summary and one-tap clear action.

5. Review and Export

  • Users bookmark important items, inspect media in galleries, and export archives into portable formats.
  • Open photo, video, audio, and document viewers from a message or gallery view.
  • Export selected conversations with configurable formatting and filename conventions.
  • Confirm destructive actions like delete with a second-step warning that explains the local impact.

Power User and Edge Capabilities

  • Merge multiple exports of the same chat with duplicate detection and conflict summaries.
  • Create archive-level bookmarks and notes for quick legal, academic, or personal review.
  • Jump across timelines by year, month, or day with a sticky date index.
  • Handle mixed-language exports and locale-specific date formats.
  • Gracefully display system messages, deleted-message placeholders, and missing media references.
  • Provide keyboard shortcuts on web for search, next result, and timeline navigation.

Visual, Accessibility, and Performance Principles

  • Use a clean WhatsApp-inspired layout with familiar bubble spacing, avatars, and date dividers.
  • Keep navigation responsive on phone, tablet, and desktop using bottom nav or sidebar based on viewport.
  • Support dark mode, high-contrast text, dynamic font scaling, and accessible tap targets.
  • Show explicit loading states for import, parsing, thumbnail generation, and search.
  • Prefer lightweight animations, deferred media loading, and smooth virtualization for large chats.

Dina exports years of family WhatsApp chats from her old phone and ends up with a ZIP file sitting on her laptop. She wants to find a message about a birthday address, but the raw TXT is hard to scan and the media is scattered across folders.

She imports the archive into ChatVault, watches the parse progress complete locally, and opens the conversation in a familiar chat bubble view. Within seconds she searches for a keyword, jumps to the correct month in the timeline, and opens the attached photo without uploading anything to the internet.

What used to be a frustrating manual search becomes a private, fast archive experience. Dina keeps the app installed on her Android phone and laptop, uses bookmarks for important messages, and trusts the tool because her original export never leaves her device.

User-Centric Metrics

  • First archive import completed in under 2 minutes for 80% of files smaller than 500 MB.
  • At least 70% of new users successfully reach first chat view in their first session.
  • Search returns relevant results in under 300 ms for 95% of queries on archives up to 100,000 messages.
  • 90% of users rate the app as easy to use after one week of use.
  • Less than 5% of imported archives require manual support intervention.

Business Metrics

  • 35% activation rate from first launch to successful archive read.
  • 25% of active users import a second archive within 30 days.
  • 40% monthly retention among users who bookmark at least one message.
  • 10% of active users export data in one of the supported formats within 60 days.
  • Organic referral growth of 15% quarter over quarter through search and app store discovery.

Technical Metrics

  • 99.5% app availability for web delivery and local runtime stability.
  • Median chat open time under 1 second after initial indexing is complete.
  • Import crash rate below 1% across supported devices and file types.
  • No transmission of message content to external servers, validated by network audits.

Tracking Plan

  • archive_import_started
  • archive_import_completed
  • archive_import_failed
  • search_performed
  • search_result_opened
  • bookmark_added
  • export_completed

Technical Needs

  • Capacitor for Android packaging and native filesystem access.
  • Responsive web app built with HTML, CSS, and JavaScript.
  • SQLite for structured storage, indexing, and duplicate checks.
  • JSZip for archive extraction and incremental file processing.
  • Indexed search layer using SQLite FTS or indexed metadata tables.
  • Virtual scrolling and pagination for long message lists.
  • Thumbnail generation and media caching in a local app-owned directory.

Integration Points

  • Android document picker and filesystem APIs via Capacitor plugins.
  • Browser File API and drag-and-drop for web imports.
  • Native media playback and file open handlers for local viewing.
  • Optional system share sheet for exporting generated files.
  • No external chat or AI services; all parsing remains on-device.

Data Storage & Privacy

  • All message parsing, indexing, and media extraction must happen locally on the device.
  • Never upload raw chat contents, filenames, or thumbnails to any server.
  • Store only derived data needed for app functionality, with clear separation from source files.
  • Provide local delete flows that remove indexed records, cached media, and export artifacts together.
  • Design for GDPR and CCPA alignment by keeping user data on-device and minimizing telemetry to non-content usage events.

Scalability & Performance

  • Use background parsing with chunked ZIP extraction to avoid UI blocking.
  • Apply database indexing and full-text search to keep queries fast on large archives.
  • Virtualize message rendering and defer media loading until visible.
  • Cap memory usage during import by streaming and releasing buffers aggressively.

Potential Challenges

  • WhatsApp export formats vary by locale and app version; mitigate with a parser ruleset, fixture library, and versioned import tests.
  • Large archives can cause memory pressure; mitigate with streaming extraction, chunked parsing, and backpressure controls.
  • Media paths may break after export; mitigate with manifest mapping, fallback lookup, and clear missing-file states.
  • Duplicate messages may appear when merging backups; mitigate with deterministic fingerprinting and a merge review screen.
  • Users may expect exact WhatsApp fidelity; mitigate with a clearly documented preview mode and careful UI matching without pretending to be the official app.

Team & resourcing - Small team - 2 engineers, 1 product designer, part-time PM/QA

Phase 1: MVP Import and Reader · Weeks 1-4

  • Project architecture and folder structure
  • Local SQLite schema and archive manifest model
  • TXT and ZIP import with basic parsing
  • WhatsApp-like chat reader with text messages
  • Empty states, loading states, and error states

Phase 2: Media and Search · Weeks 5-8

  • Local media extraction and storage
  • Photo, video, audio, and document viewers
  • Search by keyword, sender, and date
  • Timeline navigation and virtual scrolling
  • Light mode, dark mode, and text size settings

Phase 3: Multi-Archive Management · Weeks 9-12

  • Archive library and rename flow
  • Merge archives with duplicate detection
  • Bookmarks and message starring
  • Conversation statistics dashboard
  • Export to TXT, HTML, CSV, JSON, and ZIP

Phase 4: Android Packaging and Hardening · Weeks 13-16

  • Capacitor Android build and APK packaging
  • Performance tuning for large archives
  • Privacy review and local delete confirmation flows
  • Cross-device responsive polish
  • QA pass with large sample fixtures and import edge cases

Paste this into Cursor, Bolt, Lovable, or v0 to start building.

Build a fully offline product called ChatVault, an Android and web app for importing and reading WhatsApp Export Chat files from ZIP or TXT.

Tech stack:
Use HTML, CSS, and JavaScript for the frontend, Capacitor for Android APK packaging, SQLite for local persistence and search indexes, JSZip for ZIP extraction, and the local filesystem for media storage. No backend, no cloud sync, no external APIs.

Core functionality:
Import WhatsApp export ZIP and TXT files locally
Parse messages with date, time, sender, body, and system messages
Extract and link photos, videos, audio, and documents
Render chats in a WhatsApp-like bubble interface
Support a library of multiple archives
Provide search by keyword, sender, and date
Provide filters by media type and sender
Provide timeline navigation by year, month, day
Support bookmarks, statistics, and exports to TXT, HTML, CSV, JSON, and ZIP
Support dark mode, light mode, and adjustable text size
Delete archives with confirmation and remove derived local data
Detect duplicates when merging archives
Use pagination and virtual scrolling for large chats

Primary screens:
Library home with archive cards and import button
Import flow with file picker, parsing progress, preview, and validation errors
Chat reader with bubble list, date separators, sender labels, and media attachments
Search and filter panel with result list and active filters
Media gallery and document viewer
Archive settings screen with rename, merge, export, delete, and privacy notes
Statistics screen with message volume and top sender insights

Data model:
Archive table with id, name, source file info, import date, message count, media count
Chat table with archive_id, chat name, type, participants
Message table with chat_id, timestamp, sender, direction, body, message_type, media_ref, raw_text, fingerprint
Media table with message_id, file_path, mime_type, thumbnail_path, duration, width, height
Bookmark table with message_id, note, created_at
User settings table with theme, font size, last opened archive

Implementation requirements:
Create the app modularly with a clear folder structure before coding
Use a parser service that supports locale variations in WhatsApp export formats
Store all derived data locally in SQLite and all media in an app-owned filesystem directory
Do not modify or delete the original imported archive file
Include loading, empty, error, and permission states
Make the UI responsive for phone, tablet, and desktop
Use accessibility best practices including keyboard navigation and scalable text
Optimize performance with streaming import, indexed search, lazy media loading, and virtual scrolling

Build the product as a production-ready scaffold with clean, maintainable components, state management, routing, and sample fixtures for development. Prioritize a working MVP first, then layer in media handling, search, exports, bookmarks, and Android packaging.

Business Idea

WA Chat Viewer — Offline WhatsApp Archive Viewer Buat aplikasi Android dan Web bernama WA Chat Viewer. Aplikasi ini digunakan untuk membaca, mencari, mengelola, dan melihat kembali riwayat percakapan WhatsApp dari file hasil Export Chat. Tujuan Aplikasi Membuat aplikasi pembaca arsip WhatsApp dengan tampilan menyerupai WhatsApp asli. Aplikasi harus dapat membaca file ZIP dan TXT, menampilkan percakapan dalam bentuk chat bubbles, serta membuka foto, video, audio, dan dokumen yang tersedia dalam arsip. Teknologi - HTML, CSS, dan JavaScript. - Capacitor untuk membangun APK Android. - SQLite lokal untuk menyimpan pesan dan metadata. - Local Filesystem untuk menyimpan media. - JSZip untuk membaca arsip ZIP. - Tidak menggunakan backend, cloud database, atau API eksternal. Fitur Utama 1. Import ZIP dan TXT hasil Export Chat WhatsApp. 2. Ekstraksi otomatis foto, video, audio, dan dokumen. 3. Parser pesan yang mendeteksi tanggal, jam, pengirim, dan isi pesan. 4. Identifikasi pesan milik pengguna dan orang lain dengan pemetaan nama manual. 5. Tampilan chat menyerupai WhatsApp. 6. Daftar kontak dan grup. 7. Pencarian pesan berdasarkan kata, pengirim, dan tanggal. 8. Filter pesan berdasarkan jenis media dan pengirim. 9. Timeline percakapan berdasarkan tahun, bulan, dan hari. 10. Media Gallery untuk foto, video, dan audio. 11. Document Viewer untuk PDF dan format dokumen yang kompatibel. 12. Multi-Archive Manager untuk mengelola beberapa backup. 13. Deteksi pesan duplikat saat menggabungkan arsip. 14. Export ulang ke TXT, HTML, CSV, JSON, dan ZIP. 15. Bookmark pesan penting. 16. Statistik aktivitas percakapan. 17. Dark mode dan light mode. 18. Pengaturan ukuran teks dan tampilan. 19. Penyimpanan permanen secara lokal. 20. Penghapusan arsip dan data dengan konfirmasi. Desain UI/UX - Desain modern, minimalis, dan profesional. - Tampilan chat terinspirasi dari WhatsApp. - Navigasi mudah digunakan di Android. - Sidebar atau bottom navigation sesuai ukuran layar. - Animasi sederhana dan ringan. - Loading state dan error state yang jelas. - Tidak menggunakan desain berlebihan. - Responsif untuk HP, tablet, dan desktop. Privasi dan Keamanan - Semua proses import dan parsing dilakukan di perangkat. - Tidak mengirim isi chat ke server. - Tidak menggunakan API AI untuk membaca percakapan. - Tidak menggunakan cloud storage. - Tidak mencatat isi pesan ke log debugging. - Arsip asli tidak boleh diubah atau dihapus saat import. Performa - Mendukung arsip chat besar. - Menggunakan pagination dan virtual scrolling. - Menggunakan indeks SQLite untuk pencarian. - Lazy loading media. - Pemrosesan ZIP secara bertahap. - Mengelola penggunaan RAM dan penyimpanan. Aturan Pengembangan - Bangun aplikasi secara bertahap dan modular. - Buat arsitektur dan struktur folder sebelum coding. - Jangan membuat seluruh fitur sekaligus. - Uji setiap modul sebelum melanjutkan. - Jangan menggunakan data percakapan asli untuk debugging yang dikirim ke layanan eksternal. - Jangan mengklaim fitur selesai sebelum benar-benar diuji. Target Akhir Aplikasi pembaca arsip WhatsApp yang sepenuhnya offline, memiliki tampilan seperti aplikasi chat sungguhan, mendukung banyak arsip, dan dapat dipasang sebagai APK Android.

Make My PRD

Design by The Resonance | Powered by GPC – The AI Transformation Company

    PRD: WA Chat Viewer — Offline WhatsApp Archive Viewer Buat...