Founder product / private chat archive
Chat Explorer
A private iPhone, iPad, and Mac app that turns WhatsApp exports into searchable conversations, media galleries, timelines, and local analytics.
The situation
What the project needed.
Chat Explorer makes exported WhatsApp conversations useful again without a connected WhatsApp account or server-side import pipeline.
The product combines messy text parsing, local media, search indexes, privacy-sensitive analytics, and monetization inside one native Apple app.
It is optimized for on-device processing up to WhatsApp's platform-enforced export limit of 40,000 messages (without media) or 10,000 messages (with media).
The work
What I shipped.
- Built the WhatsApp import path: parsing, normalization, local indexing, media handling, and SwiftData persistence with 15+ schema migrations.
- Designed the SwiftUI architecture around strict Swift 6 concurrency, responsive rendering, and long-running local worker actors.
- Added full-text search with vector embeddings (Core ML MiniLM / NLEmbedding) and BM25 keyword ranking.
- Kept private archives on device by default, with explicit consent for optional AI and transcription workflows.
- Owned complete product direction, App Store launch material, StoreKit 2 monetization, and TestFlight distribution.
Personal contribution
Technical architecture & leadership.
- Architected multiplatform app using SwiftUI & Swift 6 strict concurrency.
- Integrated on-device Foundation Models for structured topic extraction and timeline summarization.
- Engineered local neural vector embeddings semantic search engine.
- Full lifecycle ownership: concept, design, StoreKit 2, and App Store release.
Outcome & Impact
Results in production.
- Shipped to the App Store with 100% on-device data privacy.
- Zero server infrastructure costs while handling massive 40,000-message export files effortlessly.
Your product
Have a similar challenge?
Whether you are architecting a new Apple product, optimizing video/AVFoundation pipelines, or enforcing strict TDD, tell me what needs to be solved.